命令功能:
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,表示為所有用戶添加可讀可寫可執行權限,三個數值分別對應三種用戶類型
命令參數:
--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
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
第一種方法:
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
假設目錄下文件信息為:
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/
假設目錄下文件信息為:
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