一、目錄
目錄在文件類型上用d來表示,用 / 分割目錄層
Linux操作系統 都有且僅有一個起始目錄,我們用一個單獨的 /來表示,稱其為根目錄。
對每一個Shell和操作環境,都有一個當前的工作目錄。
二、 . 文件與 ..文件
在每一個目錄下都有一個.文件與 .. 文件。
. 文件是對當前目錄的一個硬鏈接
.. 文件是對上級目錄的一個硬鏈接
三、目錄的權限
目錄也是一種文件
目錄上的讀寫執行權限與普通文件有所不同:
讀:用戶可以讀取目錄內的文件
寫:單獨使用沒有作用。與執行權限連用可以在目錄內添加與刪除文件。
執行:用戶可以進入目錄,調用目錄內的資料
四、強制位於冒險位
除了讀寫執行權限以外,ext2文件系統還支持強制位(setuid和setgid)與冒險位(sticky)的特別權限。
針對u, g, o, 分別有set uid, set gid, 及 sticky
強制位與冒險位添加在執行權限的位置上。如果該位置上原已有執行權限。則強制位與冒險位以小寫字母的方式表示,否則,以大寫字母表示。
set uid與set gid在u和g的x位置上各采用一個s,sticky使用一個t
(1)set gid對目錄的作用
默認情況下用戶建立的文件屬於用戶當前所在的組。
目錄上設置了setgid,表示此目錄中,任何人建立的文件,都會屬於目錄所屬的組。
如何查看默認用戶及組呢? id 用戶名
添加強制位權限
添加強制位權限後再來在該目錄下建立文件
(2)冒險位對目錄的作用
默認情況下,如果一個目錄上有w和x權限,則任何人可以在此目錄中建立與刪除文件。
(3)強制位對文件的作用一旦目錄上設置了冒險位,則表示在此目錄中,只有文件的擁有者、目錄的擁有者與系統管理員可以刪除文件。
在可執行文件上,用戶可以添加set uid 和set gid
默認情況下,用戶執行一個指令,會以該用戶的身份來運行程序。
指令文件上的強制位,可以讓用戶執行指令,以指令文件的擁有者或所屬組的身份運行進程
(4)設置強制位與冒險位五、umask用戶可以用chmod指令來為文件設置強制位與冒險位
set uid : chmod u + s 文件名
set gid : chmod g + s 文件名
sticky : chmod o + t 文件名
強制位與冒險位也可以通過一個數字加和,放在讀寫執行的三位數字前來指定
4(set uid)
2(set gid)
1(sticky)
注意:set uid 只能在文件上面設定、set gid能在目錄和文件上面設定、sticky只能在目錄上面設定
六、根目錄下的目錄每個用戶建立文件時,此文件都會有默認權限
默認權限的值由環境中的umask值來確定
用戶可以自主改動umask值,並在改動後建立的文件上得到體現一般用戶的默認uask值為002,系統用戶的默認umask值為022.
如果沒有umask時文件默認權限是rw-rw-rw-、目錄默認權限是rwxrwxrwx
上面的新建文件的權限計算方法,沒有umask時默認權限減去umask值
rw-rw-rw-
6 6 6
0 2 2 (去掉組寫權限、和普通用戶寫權限)
6 4 4
rw-r--r--
由此可見,如果要去掉某個權限,則umask該位就是該權限碼
/bin :存儲常用用戶指令
/boot :存儲核心、模塊映像等啟動用文件
/dev :存儲設備文件
/etc :存儲系統、服務的配置目錄與文件
/home :存放個人主目錄
/ib :存放庫文件,諸如核心模塊、驅動
/lost+found :存儲fsck用的孤兒文件
/mnt :系統加載文件系統時用的常用掛載點
/opt :第三方工具使用的安裝目錄
/proc :虛擬文件系統,包含系統訊息等資料
/root :root用戶的主目錄
/sbin :存儲系統管理用指令
/tmp :臨時文件的暫存點
/usr :存放與用戶直接相關的文件與目錄
/var :存儲在系統運行中可能會更改的數據