目錄的主要內容是記錄檔名列表,針對目錄:
r 表示具有讀取目錄結構列表的許可權,具有讀取乙個目錄的全顯示,表示可以使用ls命令查詢該目錄下的檔名資料。
w 表示具有更改該目錄結構列表的許可權:包括新建檔案與目錄,刪除已存在的檔案與目錄(不論該檔案許可權為何),將與存在的檔案或目錄重新命名,轉移該目錄內檔案或目錄位置。
x 表示使用者能否進入該目錄進入工作目錄,以及能否訪問該目錄下的檔案和子目錄。如果在某目錄下不具有x許可權,就無法切換到該目錄下,也無法執行該目錄下的任何命令,即使具備w許可權。
我們看一下x許可權如何影響使用者對目錄的操作:
現在當前使用者對test目錄不具備x許可權,但具備r和w許可權
drw-rw-r-- 2 shawn shawn 4096 mar 30 05:35 test/
使用ls命令檢視目錄下的目錄列表:
shawn@ubuntu:~$ ls -al test/
ls: cannot access test/deadloop: permission denied
ls: cannot access test/deadloop.c: permission denied
ls: cannot access test/..: permission denied
ls: cannot access test/.: permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
-????????? ? ? ? ? ? deadloop
-????????? ? ? ? ? ? deadloop.c
此時能夠看到該目錄下的所有檔案列表,但所有檔案的詳細資訊都是問號。這是因為當前使用者具備r許可權,檢視目錄下的檔案列表,但是不具備x許可權,無法獲取該目錄下所有檔案的屬性和內容。
然後嘗試刪除該目錄下的檔案:
shawn@ubuntu:~$ rm test/deadloop
rm: cannot remove 『test/deadloop』: permission denied
可以看到,雖然具有w許可權,但由於不具備x許可權,無法訪問該目錄下的任何內容
另外,linux的檔案還有一種稱為stick bit的許可權。stick bit是為了阻止一般使用者刪除被其他使用者所擁有的檔案。常見的用法是為目錄設定stick bit,這樣對於該目錄下的檔案,只有目錄的所有者、檔案的所有者或root使用者才有許可權刪除或移動該目錄。如果對目錄不設定stick bit,乙個使用者只要他對該目錄具有w和x許可權,他就能刪除該目錄下的檔案,即使這些檔案的所有者不是他。
linux中最常見的做法是為/tmp目錄新增stick bit,新增stick bit的方法可以是:
chmod +t /tmp
也可以用八進位制數設定許可權,許可權最前面增加乙個1即可:
chmod 1777 /tmp
drwxrwxrwt 5 root root 4096 may 13 21:55 tmp/
此時,可以看到tmp目錄的許可權最後一位是t,表明已經新增stick bit。
目前/tmp目錄下存在乙個test_file檔案,使用者所有者是root。由於設定了stick bit,儘管當前使用者對/tmp目錄具備w和x許可權,但仍無法刪除test_file檔案:
shawn@ubuntu:~$ ll /tmp/test_file
-rw-r--r-- 1 root root 0 may 13 21:55 /tmp/test_file
shawn@ubuntu:~$ rm /tmp/test_file
rm: remove write-protected regular empty file 『/tmp/test_file』? y
rm: cannot remove 『/tmp/test_file』: operation not permitted
如果給tmp目錄去掉stick bit:
chmod -t /tmp 或 chmod 0777 /tmp
則當前使用者就可以刪除/tmp/test_file檔案。
綜上所述,stick bit可以有效地保護目錄下的檔案不會被其他一般使用者誤刪。
Linux 學習「linux的檔案許可權與目錄配置」
linux最優秀的地方之一就是它是多使用者多工的環境 系統上的賬號與一般身份使用者都記錄在 etc passwd中,個人密碼記錄在 etc shadow中,組名記錄在 etc gruop中 ls al 後看到的列表第一列代表許可權,若第乙個字元是d則代表是目錄,是 則代表檔案,是i則代表連線檔案,b...
今日份Linux學習 目錄許可權管理
cd命令,切換當前目錄,不能切換到檔案,cd 表示當前目錄,cd 表示當前所在目錄的上一級目錄 pwd命令,當前所在目錄,或後跟檔名,檢視所在目錄 mkdir命令,形如make directory,建立乙個目錄 rmdir命令,形如remove directory,刪除乙個目錄,如果是空目錄就會直接...
linux檔案目錄許可權
rwxr xr x 代表目錄 檔案或鏈結檔案 若是d 則是目錄 若是 則是檔案 若是l 則是鏈結檔案 若是b 表示裝置檔案裡的可供儲存的介面裝置 若是c 表示裝置檔案裡的序列介面裝置,例如鍵鼠 一次性讀取裝置 接下來的字元3個一組,且均為rwx的3個引數組合 r read w write x exe...