標籤:style class c http width strong
前面介紹過在Linux中如何查看檔案的屬性,在Linux檔案許可權詳解中我們介紹了Linux檔案的三種身份和四種許可權,三種身份分別為:
- u:檔案的擁有者
- g:檔案所屬的群組
- o:其他使用者
對於每個身份,又有四種許可權,分別為:
- r:讀取檔案的許可權(read)
- w:寫入檔案的許可權(write)
- x:執行的許可權(execute)
- s:特殊許可權
在Linux檔案許可權詳解中我們知道Linux中有兩種表示檔案許可權的方式,分別為數字以及符號表示方式。
chmod以數字形式改變檔案許可權
chmod 755 test.sh
將755換算成字元形式,為rwxr-xr-x,也就是說檔案的擁有者、所屬群組以及其他使用者都可以讀取與運行test.sh這個檔案,但是只有擁有者自己可以寫入這個檔案,也就是其他人無權修改test.sh這個檔案。(當然root使用者無此限制,想改誰就該誰,這也是一個體現root帳號至高無上權力的體驗!)
通過數學形式改變檔案的許可權比較簡單,只要實現算好需要給檔案賦予的許可權,然後調用chmod指令即可,調用形式為:
chmod 新的許可權 檔案清單
chmod以字元形式改變檔案許可權
chmod +x test.sh
數學形式可以一次改變檔案的所有三種身份的四種許可權,而字元形式則更為靈活,可以給某個身份的某個許可權單獨進行設定,例如上面的指令就是給三種身份都賦予執行的許可權,你也可以分開單獨設定:
chmod u+x test.sh 只給擁有者加上可執行許可權
chmod g+x test.sh 只給群組身份加上可執行許可權
chmod o+x test.sh 只給其他人身份加上可執行許可權
以上三條指令綜合在一起等價於上面的那一條指令,都是給所有身份都開啟可執行許可權的功能,你也可以像下面這樣來操作:
chmod a+x test.sh
這裡的a就代表所有的3中身份!
如果要去掉某個身份的某個許可權,只需要將+變為-即可,例如去除其他人身份的可執行許可權:
chmod o-x test.sh
對於讀取、寫入等許可權,按照以上方式多進行練習即可,chmod通過字元形式改變檔案許可權的操作見下表:
chmod |
u g o a |
+(加上) -(減去) =(設定) |
r w x |
檔案或目錄 |
最後再來個綜合的樣本,以後類似的問題舉一反三即可:
chmod u=rwx,g+rx,o-x test.sh
轉自:http://www.letuknowit.com/topics/20120408/change-file-attributes-on-linux.html/