chmod和umask

指令名稱 : 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會自動加上權限)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章