之前用chmod的時候都是簡單的類似下面這樣使用:
$chmod 755 file
也有時候可能會修改一個目錄下所有子目錄和文件:
$chmod 755 directory -R
也知道3個數字(例子中的755)分別代表賦予 “文件屬主用戶”、“文件所屬組用戶”、“其他用戶” 這三種用戶對文件的讀(4)、寫(2)、執行(1)權限。
7=4+2+1,所以就代表讀寫執行權限,5=4+1,代表讀和執行權限。
我也知道有用字母表示權限的方法,r讀、w寫、x執行。但我覺得上面的數字表示的方法已經夠用了,也就沒深入研究過。
前段時間的一次面試中,被問到chmod相關的問題,上面的內容都答出來了,我覺得已經不錯了,沒想到面試官接着問,怎么樣只給一種用戶、比如只給所屬主用戶設置一個權限,並且不改變其他用戶現有的權限。這個問題當時沒答上來。回來以后度娘了一下,補補漏:
$ chmod u+x file 給file的屬主增加執行權限 $ chmod 751 file 給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限 $ chmod u=rwx,g=rx,o=x file 上例的另一種形式 (u=rwx,g=rx,o=x中間不能有空格) $ chmod =r file 為所有用戶分配讀權限 $ chmod 444 file 同上例 $ chmod a-wx,a+r 同上例 $ chmod -R u+r 目錄名稱 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限