Linux命令:chmod、chgrp、chown的區別
chmod是更改文件的權限;
chgrp只是更改文件的屬組;
chown是更改文件的屬主與屬組。
1.chmod:更改文件的權限
文件權限的設置方式有兩種,分別是數字和標記。
mode : 權限設定字串,格局如下 : [ugoa...][[+-=][rwxX]...][,...],此中u 暗示該文件的擁有者,g 暗示與該文件的擁有者屬於統一個群體(group)者,o 暗示其他以外的人,a 暗示這三者皆是。
+ 暗示增添權限、- 暗示打消權限、= 暗示獨一設定權限。
r 暗示可讀取,w 暗示可寫入,x 暗示可實行,X 暗示只有當該文件是個子目次大概該文件已經被設定過為可實行。
-s :在文件實行時把歷程的屬主或組ID置為該文件的文件屬主。
-c : 若該文件權限確實已經變動,才表現其變動行動
-f : 若該文件權限無法被變動也不要表現錯誤訊息
-v : 表現權限變動的具體資料
-R : 對今朝目次下的全部文件與子目次舉行不異的權限變動(即以遞回的體例逐個變動)
--help : 表現幫助申明
--version : 表現版本
典範 :將文件 file1.txt 設為全部人皆可讀取 :
chmod ugo+r file1.txt
將文件 file1.txt 設為全部人皆可讀取 :
chmod a+r file1.txt
將文件 file1.txt 與 file2.txt 設為該文件擁有者,與其所屬統一個群體者可寫入,但其他以外的人則不成寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設定為只有該文件擁有者可以實行 :
chmod u+x ex1.py
將今朝目次下的全部文件與子目次皆設為任何人可讀取 :
chmod -R a+r *
當其他用戶實行oracle的sqlplus這個法式時,他的身份因這個法式臨時釀成oracle
chmod u+s sqlplus
另外,chmod也可以用數字來暗示權限如 chmod 777 file
語法為:chmod abc file
此中a,b,c各為一個數字,分表表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
示例:
chmod a=rwx file 和 chmod 777 file 結果不異;
chmod ug=rwx,o=x file 和 chmod 771 file 結果不異;
若用chmod 4755 filename可使此程式具有root的權限。
我一般賦予新上傳的文件 chmod 755 文件。
2.chgrp:更改文件或者目錄的屬組
命令格式:chgrp 用戶組 文件名 。若是整個目錄下的都改,則加-R參數用於遞歸。
#chgrp -R guest /var/tmp/xx.txt
#chgrp -R root /home/xx/yy/a.txt
3.chown:更改文件的屬主與屬組
命令格式:
A:chown -R -h 用戶名 文件/目次
-R選項意味著對所有子目錄下的文件也都進行同樣的操作,-h選項意味著在改變符號鏈接文件的屬主時不影響該鏈接所指向的目標文件.
註意:一旦將文件的所有權交給了另一個用戶,就無法再重新收回它的所有權,最終只能求助於系統管理員.
B:chown 用戶名:用戶組:文件/目次
若是整個目次下的都改,則加-R參數用於遞歸。例:
#chown guest:guest a.txt
#chown tomcat.root a.class
#chown -R guest /home/berry (把berry文件下的所有文件都改成guest這個組)
Linux命令:chmod、chgrp、chown的區別