指令名稱 : chmod
使用權限 : 所有使用者
使用方式 : chmod [-cfvR] mode file...
說明 : Linux/Unix 的檔案調用權限分爲三級 : 檔案擁有者、羣組、其他。利用 chmod 可以藉以控制檔案如何被他人所調用。
參數 :
mode : 權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u user表示該檔案的擁有者,g group表示與該檔案的擁有者屬於同一個羣體(group)者,o other表示其他以外的人,a all表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞迴的方式逐個變更)
用數字表示:一般使用三位,分別代表user,group,other的權限。使用二進制表示當前權限,分別是4(r 讀)、2(w 寫)、1(x 可執行)。如果要rwx屬性則爲7,r-x則爲5,rw-則爲6.
-rwxrwxrwx(777):所有用戶均可讀寫執行
-rwxr--r--(744):只有擁有者可以讀寫執行,其他的只能讀
-r--r--r--(444):所有人只能讀
-rwx------(700):只有擁有者纔可以讀寫執行
-rw-rw-rw-(666):所有人只能讀寫文件
例子:
將file設置爲所有人可讀取:
chmod a+r file
chomod ugo+r file
chmod 444 file
file1和file2,擁有者和同一個羣體可寫入,剩餘的人不可寫入
chmod ug+w,o-w file1 file2
chmod 220 file
將file設定爲只有該檔案擁有者可以執行
chmod u+x,go-x file
chmod 100 file
將目前目錄下的所有檔案與子目錄皆設爲任何人可讀取
chmod -R a+r *
chmod 444 *
將file設定成擁有者和同一羣體可以讀寫執行,剩餘其他人只可以執行
chmod ug=rwx,o=x file
chmod 771 file
umask是創建文件/文件夾的預設權限,通常來說爲0002,一般只用後面三位(即002)。可以進入[HOME]/.bashrc,在末尾加入umask xxxx進行修改。umask是chmod的補碼。對於新創建的文件,系統一般不賦予執行權限,因此對文件而言最高權限爲6,目錄最高權限爲7。因此當umask爲002時,新創建文件的權限爲664,新創建目錄權限爲775。
cp -rf 只覆蓋文件內容,不修改原有文件權限。
比如cp -rf A B ,A的權限爲600, B的權限爲777,把A複製到B之後,A的內容覆蓋B,但權限依舊是777。(2852好像對init.konka.sh會自動加上權限)