Linux之chmod


命令功能:

chmod命令用於改變linux系統文件或目錄的訪問權限。用它控制文件或目錄的訪問權限。該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。

命令格式:

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

第一種:使用符號模式,例如:chmod a+x file,此處的a代表所有用戶,+代表添加權限,x代表執行權限

第二種:使用絕對模式,例如:chmod 777 file,表示為所有用戶添加可讀可寫可執行權限,三個數值分別對應三種用戶類型

命令參數:

-c,--changes
只輸出被改變文件的信息
-f,--silent,--quiet
當chmod不能改變文件模式時,不通知文件的用戶
--help
輸出幫助信息。
-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
--reference=filename
參照filename的權限來設置權限
-v,--verbose
無論修改是否成功,輸出每個文件的信息
--version
輸出版本信息。
--reference=<目錄或者文件> 設置成具有指定目錄或者文件具有相同的權限
--version 顯示版本信息

命令實例:

假設目錄下文件信息為:

vbird@Ubuntu16:~/test$ ll
total 8
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:42 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 a.txt
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
1.對a.txt增加文件所有用戶組可執行權限(都是基於原始狀態)
vbird@Ubuntu16:~/test$ chmod a+x a.txt
vbird@Ubuntu16:~/test$ ll
total 8
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:42 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rwxrwxr-x 1 vbird vbird    0 9月   8 16:42 a.txt*
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
2.對a.txt同時修改不同用戶權限,文件所有者可讀可寫可執行、用戶組只讀、其他人不可讀不可寫不可執行。(都是基於原始狀態)
第一種方法:
vbird@Ubuntu16:~/test$ chmod u=rwx a.txt vbird@Ubuntu16:~/test$ chmod g=r a.txt vbird@Ubuntu16:~/test$ chmod o= a.txt vbird@Ubuntu16:~/test$ ll total 8 drwxrwxr-x 2 vbird vbird 4096 9月 8 16:42 ./ drwxr-xr-x 4 vbird vbird 4096 9月 8 16:42 ../ -rwxr----- 1 vbird vbird 0 9月 8 16:42 a.txt* -rw-rw-r-- 1 vbird vbird 0 9月 8 16:42 b.txt
第二種方法:

  vbird@Ubuntu16:~/test$ chmod 740 a.txt
  vbird@Ubuntu16:~/test$ ll
  total 8
  drwxrwxr-x 2 vbird vbird 4096 9月 8 16:42 ./
  drwxr-xr-x 4 vbird vbird 4096 9月 8 16:42 ../
  -rwxr----- 1 vbird vbird 0 9月 8 16:42 a.txt*
  -rw-rw-r-- 1 vbird vbird 0 9月 8 16:42 b.txt

3.根據目錄下的b.txt的權限設置a.txt的權限

 假設目錄下文件信息為:

vbird@Ubuntu16:~/test$ ll
total 12
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rwxr----- 1 vbird vbird    0 9月   8 16:42 a.txt*
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 dir/

解決方法:

vbird@Ubuntu16:~/test$ chmod --reference=b.txt a.txt
vbird@Ubuntu16:~/test$ ll
total 12
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 a.txt
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 dir/
4.對一個目錄及其子目錄所有文件添加權限,允許其他人可讀可進去目錄,但是目錄下的文件只有只讀權限。

假設目錄下文件信息為:

vbird@Ubuntu16:~/test$ ll
total 12
drwxrwxr-x 3 vbird vbird 4096 9月 8 16:52 ./
drwxr-xr-x 4 vbird vbird 4096 9月 8 16:42 ../
-rwxr----- 1 vbird vbird 0 9月 8 16:42 a.txt*
-rw-rw-r-- 1 vbird vbird 0 9月 8 16:42 b.txt
drwxrwx--- 2 vbird vbird 4096 9月 8 16:53 dir/

vbird@Ubuntu16:~/test$ ll dir
total 8
drwxrwxr-x 2 vbird vbird 4096 9月 8 16:53 ./
drwxrwxr-x 3 vbird vbird 4096 9月 8 16:52 ../
-rw-rw---- 1 vbird vbird 0 9月 8 16:53 c.txt
-rw-rw---- 1 vbird vbird 0 9月 8 16:53 d.txt

解決方法:
vbird@Ubuntu16:~/test$ chmod -R o+rx dir
vbird@Ubuntu16:~/test$ ll
total 12
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rwxr----- 1 vbird vbird    0 9月   8 16:42 a.txt*
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 dir/
vbird@Ubuntu16:~/test$ ll dir
total 8
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 ./
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ../
-rw-rw-r-x 1 vbird vbird    0 9月   8 16:53 c.txt*
-rw-rw-r-x 1 vbird vbird    0 9月   8 16:53 d.txt*
vbird@Ubuntu16:~/test$ chmod o-x dir/c.txt dir/d.txt
vbird@Ubuntu16:~/test$ ll
total 12
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ./
drwxr-xr-x 4 vbird vbird 4096 9月   8 16:42 ../
-rwxr----- 1 vbird vbird    0 9月   8 16:42 a.txt*
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:42 b.txt
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 dir/
vbird@Ubuntu16:~/test$ ll dir
total 8
drwxrwxr-x 2 vbird vbird 4096 9月   8 16:53 ./
drwxrwxr-x 3 vbird vbird 4096 9月   8 16:52 ../
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:53 c.txt
-rw-rw-r-- 1 vbird vbird    0 9月   8 16:53 d.txt

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM