chmod權限命令
一、chmod命令的語法
用於改變文件或目錄權限
語法:chmod [對誰操作(ugoa)] [操作符 (+-=)] [賦予的權限(rwx)] 文件名1 文件名2...
chmod [-cfvR] [--help] [--version] mode file...
-c : 若該檔案權限確實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
對誰操作:
u 用戶user,表現文件或目錄的所有者
g 用戶組group,表現文件或目錄所屬的用戶組
o 其他用戶other
a 所有用戶all
操作符:
+ 添加權限 - 減少權限 =直接給定一個權限
權限:
r 讀 w 寫 x 執行
八進制數字表示權限
r w x
二進制代表100 010 001
十進制代表 4 2 1
范例:
chmod 755 1.txt
chmod 777 /etc/hurenxiang 將hurenxiang這個文件夾權限改為對所有用戶可讀,可寫,可執行
chmod 775 /etc/caiyao 將caiyao這個文件夾權限改為其他用戶不可讀
rwx的值為4+2+1=7;
rw-的值為4+2=6;
r-x的值為4+1=5。
rwxr-xr-x的值為755
-rw------- (600) 只有屬主有讀寫權限。
-rw-r--r-- (644) 只有屬主有讀寫權限;而屬組用戶和其他用戶只有讀權限。
-rwx------ (700) 只有屬主有讀、寫、執行權限。
-rwxr-xr-x (755) 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有讀、執行權限。
-rwx--x--x (711) 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有執行權限。
-rw-rw-rw- (666) 所有用戶都有文件讀、寫權限。這種做法不可取。
-rwxrwxrwx (777) 所有用戶都有讀、寫、執行權限。更不可取的做法。
二.chmod命令結構詳解
在Linux中輸入ll,會出現指定目錄下文件/目錄的詳細信息,
詳解下圖:權限一共是10個字符,第1個字符分為1組,后面9個字符分為3組。
第1個字符有兩種情況:如果是“d”則代表這是一個文件夾,如果是“—”代表這是一個文件;
第2、3、4個字符:表示文件擁有者的權限,可以用u來表示,擁有四個權限:r:讀權限 , w:寫權限,x:執行權限,—:無權限;
第5、6、7個字符:表示文件所屬群組的權限,可以用g來表示,擁有四個權限:r:讀權限 , w:寫權限,x:執行權限,—:無權限;
第8、9、10個字符:表示的是除擁有者和所屬群組之外的其他所有的用戶,可以用o來表示,擁有四個權限:r:讀權限 , w:寫權限,x:執行權限,—:無權限。
三.chmod命令的使用
-rw--wx--x //該文件的 擁有者有讀取和寫入的權限,但沒有執行權限;
所在群組沒有讀取的權限,但有寫入和執行的權限;
其他用戶沒有讀取和寫入的權限,但有執行的權限
d--xr-xrw- //該文件夾的 擁有者沒有讀取和寫入的權限,但有執行的權限;
所在群組沒有寫入的權限,但有讀取和執行的權限;
其他用戶沒有執行權限,但有讀取和寫入的權限
范例 :
第一種修改權限的方法
將檔案 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 *
(-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更) )
第二種:用數字賦權:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
第三種:修改目錄下的所有文件 | 所有文件 | 所有文件夾和文件的權限
要修改某目錄下所有的文件夾屬性為可寫可讀可執行
chmod 777 *
把文件夾名稱用*來代替就可以了
要修改某目錄下所有的文件屬性為可寫可讀可執行
chmod 777 *.*
把文件夾名稱與后綴名用*來代替就可以了。
同理若是要修改所有htm文件的屬性
chmod 777 *.htm
要修改/tmp/sco下所有的文件和文件夾及其子文件夾屬性為可寫可讀可執行
chmod -R 777 /tmp/sco
四.對可執行文件的賦權
用戶創建的一個文件是沒有任何權限的,再Linux的控制台可見文件無權限文件的字體是灰白色的,沒權限那么此文件就只是文本文件,不可執行。
藍色表示目錄;
綠色表示可執行文件,可執行的程序;
紅色表示壓縮文件或包文件;
淺藍色表示鏈接文件;
灰色表示其它文件;
- 下面實踐來看
首先上傳了一個stop1.sh文件,是灰色,然后進行chmod +x給了權限。后來使用chmod -x 去除執行權限,可以明顯看到效果