命令名稱:chmod
英文原意:change the permissions mode of a file
執行權限:所有用戶
語法:chmod [{ugoa}{+-=}{rwx}][文件或目錄]
[mode=421][文件或目錄]
-R 遞歸修改
功能:修改目錄或文件的權限
u:user(所有者) g:group(所屬組) o:other(其他人) a:all(所有人) r:read(讀) w:write(寫) x:execute(執行)
如上圖所示,對於文件test.txt,文件所有者有讀寫權限,文件所屬組和其他人就很只有讀的權限。
假如現在修改文件的權限,修改為所有者只有讀的權限,所屬組有讀和寫的權限,其他人什么權限都沒有。
一般寫法:輸入chmod u-w,g+x,o-r test.txt
日常寫法:chmod 460 test.txt
在linux權限管理中,r對應4,w對應2,x對應1,所以460=r-- + rw- + --- =4+(4+2)+0=460
假如現在再次修改權限,讓所有用人都有執行權限
chmod a+x test.txt 或 chmod 571 test.txt
選項-R實際上是遞歸修改權限,如:我們用mkdir -p /tmp/a/b 在目錄/tmp下遞歸創建a目錄,並在a目錄下創建b目錄,然后再目錄b下創建目錄c和文件c.txt,那么這個時候來查看目錄a,b的權限,兩個目錄的權限是一樣的
那么現在將目錄a的權限設為777,然后觀察目錄a,b的權限情況,可以看出目錄a的權限改為777了,不過目錄b並沒有改變,想要在同時修改目錄a和目錄a下的所有目錄和文件的權限是,就得用到-R來遞歸修改權限。
輸入:chmod -R 777 /tmp/a ,結果可以看到,目錄a包括目錄a下的所有文件或目錄的權限都變為777了。
注意點:rwx對於文件和目錄來說有不同的含義
舉個例子:驗證root用戶創建的普通文件,普通用戶能不能刪除?答案是肯定的
之所以普通用戶能刪除root用戶創建的文件,是因為文件test.txt所在的目錄的權限為777,也就是說目錄/temp對於用戶grid來說,是可寫的,所以能刪除掉文件test.txt.
切記:刪除一個權限的前提條件是對文件所在的目錄有寫權限。刪除一個文件的前提條件不是對這個文件有寫權限,對文件有寫權限只能修改文件的內容。