天天看點

學習鳥哥的Linux私房菜筆記(5)——目錄

一、目錄

 / 分割目錄層

 /來表示,稱其為根目錄。

對每一個Shell和操作環境,都有一個目前的工作目錄。

 . 檔案與 ..檔案

 .. 檔案。

 . 檔案是對目前目錄的一個硬連結

 .. 檔案是對上級目錄的一個硬連結

三、目錄的權限

目錄也是一種檔案

目錄上的讀寫執行權限與普通檔案有所不同:

讀:使用者可以讀取目錄内的檔案

寫:單獨使用沒有作用。與執行權限連用可以在目錄内添加與删除檔案。

執行:使用者可以進入目錄,調用目錄内的資料

四、強制位于冒險位

除了讀寫執行權限以外,ext2檔案系統還支援強制位(setuid和setgid)與冒險位(sticky)的特别權限。

針對u, g, o, 分别有set uid, set gid, 及 sticky

如果該位置上原已有執行權限。則強制位與冒險位以小寫字母的方式表示,否則,以大寫字母表示。

set uid與set gid在u和g的x位置上各采用一個s,sticky使用一個t

目錄的作用

預設情況下使用者建立的檔案屬于使用者目前所在的組。

目錄上設定了setgid,表示此目錄中,任何人建立的檔案,都會屬于目錄所屬的組。

學習鳥哥的Linux私房菜筆記(5)——目錄
如何檢視預設使用者及組呢? id 使用者名
學習鳥哥的Linux私房菜筆記(5)——目錄
添加強制位權限
學習鳥哥的Linux私房菜筆記(5)——目錄
添加強制位權限後再來在該目錄下建立檔案
學習鳥哥的Linux私房菜筆記(5)——目錄

目錄的作用

預設情況下,如果一個目錄上有w和x權限,則任何人可以在此目錄中建立與删除檔案。

一旦目錄上設定了冒險位,則表示在此目錄中,隻有檔案的擁有者、目錄的擁有者與系統管理者可以删除檔案。

學習鳥哥的Linux私房菜筆記(5)——目錄

(3)強制位對

檔案的作用

在可執行檔案上,使用者可以添加set uid 和set gid

預設情況下,使用者執行一個指令,會以該使用者的身份來運作程式。

指令檔案上的強制位,可以讓使用者執行指令,以指令檔案的擁有者或所屬組的身份運作程序

學習鳥哥的Linux私房菜筆記(5)——目錄

(4)設定強制位與冒險位

使用者可以用chmod指令來為檔案設定強制位與冒險位

set uid :   chmod u + s  檔案名

set gid :   chmod g + s  檔案名

sticky  :    chmod o + t  檔案名

強制位與冒險位也可以通過一個數字加和,放在讀寫執行的三位數字前來指定

4(set uid)

2(set gid)

1(sticky)

學習鳥哥的Linux私房菜筆記(5)——目錄
注意:set uid 隻能在檔案上面設定、set gid能在目錄和檔案上面設定、sticky隻能在目錄上面設定

五、umask

每個使用者建立檔案時,此檔案都會有預設權限

預設權限的值由環境中的umask值來确定

使用者可以自主改動umask值,并在改動後建立的檔案上得到展現

一般使用者的預設uask值為002,系統使用者的預設umask值為022.

學習鳥哥的Linux私房菜筆記(5)——目錄

如果沒有umask時檔案預設權限是rw-rw-rw-、目錄預設權限是rwxrwxrwx

上面的建立檔案的權限計算方法,沒有umask時預設權限減去umask值

rw-rw-rw-

6   6   6

0   2   2  (去掉組寫權限、和普通使用者寫權限)

6   4   4

rw-r--r--

由此可見,如果要去掉某個權限,則umask該位就是該權限碼

學習鳥哥的Linux私房菜筆記(5)——目錄

六、根目錄下的目錄

Linux目錄遵循FHS标準:​​http://www.pathname.com/fhs/​​

FHS标準規範了每個目錄下應該放什麼資料,如下表:

學習鳥哥的Linux私房菜筆記(5)——目錄
/ :根目錄,一般建議在根目錄下隻有目錄,不要直接有檔案。根目錄是啟動時系統第一個載入的分區,是以,所有啟動過程會用到的檔案都應該放在這個分區。如:/etc    /bin   /dev   /lib   /sbin  這5個子目錄都應該與根目錄連在一起,不可獨立成為某個分區。

/bin

/boot

/dev :在Linux系統上,任何裝置都以檔案類型存放在這個目錄中。通路這個目錄下面的某個檔案,就等于通路某台裝置。裝置又分為字元裝置,例如鍵盤、滑鼠等,塊裝置,例如硬碟、CD光牒等。在此目錄下的檔案會多出兩個屬性,分别是主裝置号和輔助裝置号。

/etc

/home :存放個人主目錄

/ib :存放庫檔案,諸如核心子產品、驅動

/lost+found :存儲fsck用的孤兒檔案,系統出現異常,産生錯誤時,會将一些遺失的片段放于此目錄下,通常這個目錄會自動出現在某個分區最頂層的目錄下。

/mnt

/opt

/proc

/root :root使用者的主目錄

/sbin

/tmp

/usr

繼續閱讀