Linux檔案許可權學習總結

2021-08-31 17:57:57 字數 3300 閱讀 2370

一、使用者對檔案或目錄都有哪些許可權?

四種:讀、寫、執行、沒有許可權

二、如何表示這四種許可權?

如果用十進位制數字表示,分別為:4、2、1、0;如果用字元表示,分別為:r、w、x、-。個人覺得,使用chmod命令更改檔案或目錄許可權時,數字表示法顯然比字元表示法簡潔明快

三、對於檔案和目錄而言,這四種許可權是否具有同樣的含義?

並非如此,如下所示:

普通檔案 目錄

r:使用者擁有讀取該檔案內容的許可權 使用者擁有列出其中檔案列表的許可權

w:使用者擁有修改該檔案內容的許可權 使用者擁有在其中建立、刪除檔案的許可權

x:使用者擁有執行該檔案的許可權 使用者擁有進入該目錄、複製其中檔案的許可權

1、擁有某項許可權,並不意味著就一定能夠對檔案或目錄做相應的操作。

2、普通檔案擁有r、w、x許可權或它們許可權的組合,針對的是檔案內容,與檔案本身的操作無關。若想對檔案本身進行刪除、移動等操作,需要其上層目錄的許可權,下面會講到。

四、為什麼要同時設定三組使用者的許可權?

這是因為linux裡檔案或目錄的許可權是和使用者管理聯絡在一起的。我們設定檔案的許可權時,除了設定屬主的許可權,還要設定屬主同組使用者的許可權,以及其它使用者的許可權。關於linux使用者管理,請自行搜尋相關資料。

五、為什麼很多檔案或目錄的許可權都是乙個許可權組合?

前面講到,擁有某項許可權並不意味著一定能夠完成相應操作,原因之一就是:單一許可權無法保證我們完成相應的操作,所以設定檔案或目錄許可權時,通常使用許可權的組合,這對目錄的許可權設定尤其重要。例如,從道理上講,如果目錄擁有w許可權,我們就可以在其中新建、刪除檔案,但從實際的操作結果來看,這些操作無法完成,只有當目錄同時擁有了x許可權時,才可以進行上述的操作。-wx許可權,即是乙個許可權組合,對目錄而言,表示使用者可以在其中建立、刪除檔案;再如常用的r-x組合:對目錄來說,表示使用者可以列出目錄內容,複製其中的檔案。可以講,沒有x許可權的配合,目錄的w許可權就是一句空話,沒有x許可權的配合,就無法對目錄中的內容進行任何操作,至於對目錄本身的操作,由其上層目錄的許可權決定。能理解吧?不能進入目錄的話,何談對目錄中檔案進行操作呢?!

目錄擁有許可權組合rw-、r-x、-wx時,我們能對其中的檔案或子目錄作哪些操作呢?大家可以先猜測一下,然後動手試驗一下,看看自己的猜測是否正確。rwx許可權就不用考慮了,基本上是完全許可權,當然,特殊許可權除外。

六、檔案或目錄的許可權受哪些方面的影響?

擁有某項許可權並不意味著一定能夠進行相應操作,並不僅僅是因為需要許可權的組合,有時候就會出現這種情況:我們正確設定了檔案或目錄的許可權組合,卻仍然不能對它們進行相應的操作。這是因為,能否對檔案或目錄進行各種操作不但取決於檔案自身的許可權,還要受到其上層目錄的許可權的影響。本文的第

三、第五部分都已經提到了這一點。要牢記它,這非常重要!

先來看檔案的操作,包括兩部分:對檔案本身的操作,以及對檔案內容的操作。

對檔案本身的操作,一般是移動、複製、刪除、重新命名,這些所有的操作都是由其上層目錄的許可權決定的。能否理解?檔案是目錄中的檔案,我們知道,linux把目錄也看成乙個檔案,那麼目錄裡的所有東西都可看成檔案的內容,因此,目錄的許可權決定了目錄中的檔案的操作,這主要是指對檔案本身的操作,對檔案內容的操作,還需要檔案自身許可權的配合。

使用者lqs的家目錄裡有乙個目錄000,其中有乙個檔案a.txt。家目錄lqs已經設定了許可權705,目錄000許可權設定為703,其中的 a.txt檔案許可權設定為700。如圖所示,其它使用者normal成功地刪除了檔案a.txt,儘管檔案的許可權只是700!這是因為檔案的刪除等操作是由上層目錄的許可權決定的,而檔案的上層目錄000的許可權為703,它賦予了其它使用者在其中新增、刪除檔案的許可權。

因此我們得出結論,能否對目錄中的檔案本身進行移動、刪除、重新命名等操作,取決於其上層目錄的許可權。這裡的檔案,不但指普通檔案,還包括目錄檔案,即目錄的子目錄。

對檔案內容的操作,一般是指修改檔案內容。對檔案內容進行操作,首先其目錄要有x許可權,然後檔案要有w許可權。

對目錄裡的子目錄的操作,與目錄裡檔案的操作原理一致,但相應許可權與前面講到的目錄操作的許可權一致。這裡不再一一枚舉。記住,要多用用chmod命令,這些東西你自然會知道。

七、特殊許可權

linux裡有一些特殊許可權,比如s,它們需要4位十進位制數字來表示。這裡不談,有興趣可以自行了解一下。

附錄:

一、許可權字元表示是如何變成數字表示的?

使用ls –l命令顯示檔案屬性的長格式時,第乙個字段就是用來表示檔案的種類和許可權的,該字段最常見的值為-rwxr-xr-x。一共有10個字元,第一位表示檔案型別,後面九位表示檔案許可權,這9位字元可分成3組,分別表示檔案屬主的許可權,屬主同組使用者的許可權,和其它使用者的許可權。

rwxr-xr-x表示檔案屬主具有讀、寫、執行的全部許可權,屬主同組使用者具有可讀許可權,其它使用者具有可讀許可權,用十進位制數字表示,就是755。

那麼,755是怎麼來的?

要得出這個十進位制數字,需要先把rwxr-xr-x轉換成二進位制。把它們用二進位制數字表示的話,有某項許可權即為1,沒有為0,那麼rwxr-xr-x的二進位制表示為111 101 101。

再把111 101 101這三組二進位制數字分別轉換成十進位制。轉換演算法還記得嗎?從右到左,各位上的數字依次乘以2的n次方(n的取值從0開始)。如下所示:

第一組:1x20 + 1x21 +1x22 = 7

第二組:1x20 + 0x21 +1x22 = 5

第三組:1x20 + 0x21 +1x22 = 5

三組數字組合起來,即為755。

其實不用每次都把每乙個字元轉換成二進位制,再轉換成十進位制,沒這麼麻煩。因為我們可以算出:可讀許可權用十進位制數字表示為4,可寫許可權表示為2,可執行許可權表示為1,沒有許可權表示為0,記住它們就不必每次全部轉來轉去了。

先來看可讀許可權r--,它的二進位制表示為100,把它轉換成十進位制:0x20 + 0x21 +1x22 = 4

再來看可寫許可權-w-,它的二進位制表示為010,把它轉換成十進位制:0x20 + 1x21 +0x22 = 2

最後看可執行許可權--x,它的二進位制表示為001,把它轉換成十進位制:1x20 + 0x21 +0x22 = 1

二、各個許可權具體的操作試驗結果如下:

目錄的可讀許可權:可列出目錄裡的檔案,不可重新命名、複製、移動、刪除其中的檔案,不可進入目錄

目錄的可寫許可權:不可列出目錄裡的檔案,不可重新命名、複製、移動、刪除其中的檔案,不可進入目錄

目錄的可執行許可權:不可列出目錄裡的檔案,不可重新命名、移動、刪除其中的檔案,可複製其中的檔案,可進入目錄。

Linux檔案許可權總結

linux檔案許可權基本概述 1.基本許可權 可讀 r 可寫 w 可編輯 x 2.特殊許可權 suid sgid sbit 3.隱藏許可權 通過 lsattr 檢視,chattr 設定 由於檔案的隱藏許可權種類較多 13種 在此不作具體說明 可以通過 man chattr 來檢視各個隱藏許可權的具體...

linux檔案許可權總結

總結一下 color red ls l test r r xrw 1 dec users 30 2010 09 07 11 56 test color 檔案的許可權8進製表示是456,檔案所屬者dec,檔案所屬組users 注意可能包含dec,也可能不包含,也就是dec使用者所在的組並不代表test...

linux檔案許可權學習

1 首先使用ls al檢視檔案的檔案 以1.text.txt為例 rwxr r 代表檔案,前三個rwx代表擁有者可讀 寫 執行,第二個 r 代表擁有者所在的群組中的其他成員可讀 不可寫和執行,第三個r 代表others可讀 不可寫和執行 1 代表連線數 www 代表擁有者 www 代表所在群組 0 ...