修改文件的權限
chmod [options] who operator permission file-list (符號模式)
chmod [options] mode file-list (絕對模式)
參數
file-list 是chmod需要修改權限的文件名或目錄的路徑名
說明
Linux中主要有兩種改變權限的方法
第一種:使用符號模式,例如:chmod a+x file,此處的a代表所有用戶,+代表添加權限,x代表執行權限
第二種:使用絕對模式,例如:chmod 777 file,表示為所有用戶添加可讀可寫可執行權限,三個數值分別對應三種用戶類型
符號模式
who 用戶類型
who | 用戶類型 | 意義 |
u | User | 文件的所有者 |
g | Other | 與文件相關聯的組 |
o | Other | 所有其他用戶 |
a | All | 相當與ugo,所有用戶 |
operator 運算符
operator | 意義 |
+ | 為指定的用戶類型添加權限 |
- | 為指定的用戶類型刪除權限 |
= | 設定或重置指定用戶類型的權限 |
permission 模式
permission | 意義 | 對文件含義 | 對目錄含義 |
r | 設置讀權限 | 可以查看文件內容 | 可以列出目錄中的內容 |
w | 設置寫權限 | 可以修改文件內容 | 可以在目錄中創建、刪除文件 |
x | 設置執行權限 | 可以執行文件 | 可以進入目錄 |
從上面可以知道,為什么在目錄的權限中,r和x經常在一起設置
因為必須進入目錄才能讀取內容
絕對模式
絕對模式的典型范例
模 式 | 意義 |
777 | 所有用戶都對文件具有讀、寫和執行權限 |
755 | 文件所有者對文件具有讀、寫和執行權限;組用戶和其他用戶對文件需有讀和執行權限 |
711 | 文件所有者對文件具有讀、寫和執行權限;組用戶和其他用戶對文件具有執行權限 |
644 | 文件所有者可以讀、寫文件;組用戶和其他用戶可以讀文件 |
640 | 文件所有者可以讀、寫文件;組用戶可以讀文件;其他用戶不能訪問文件 |
選項
-c 顯示修改過程信息
-f 強制修改權限
-R 對目錄遞歸修改權限
-v 顯示修改過后的的信息
示例
chmod u+x
$ ls -l temp -rw-r--r-- 1 siu siu 0 1月 10 13:50 temp $ chmod u+x temp $ ls -l temp -rwxr--r-- 1 siu siu 0 1月 10 13:50 temp
列出文件詳細信息,可看到開頭有-rw-r--r--,排除第一位,后面的每三位代表一種用戶類型,-表示無設置
此處為文件所有者添加執行權限
chmod ug+x
$ ls -l temp -rwxr--r-- 1 siu siu 0 1月 10 13:50 temp $ chmod ug=rwx temp $ ls -l temp -rwxrwxr-- 1 siu siu 0 1月 10 13:50 temp
為文件所有者和組用戶添加執行權限
chmod g-x
$ ls -l temp -rwxrwxr-- 1 siu siu 0 1月 10 13:50 temp $ chmod g-x temp $ ls -l temp -rwxrw-r-- 1 siu siu 0 1月 10 13:50 temp
為組用戶減去執行權限
chmod 777
$ ls -l temp -rwxrw-r-- 1 siu siu 0 1月 10 13:50 temp $ chmod 777 temp $ ls -l temp -rwxrwxrwx 1 siu siu 0 1月 10 13:50 temp
為所有用戶添加可讀可寫可執行權限
chmod 755
$ ls -l temp -rwxrwxrwx 1 siu siu 0 1月 10 13:50 temp $ chmod 755 temp $ ls -l temp -rwxr-xr-x 1 siu siu 0 1月 10 13:50 temp
為所有者添加讀、寫和執行權限,組用戶和其他用戶添加讀和執行權限
chmod -Rv 755
$ ls -l 總用量 4 drwxr-xr-x 2 siu siu 4096 1月 10 13:57 dir $ chmod -Rv 755 dir "dir" 的權限模式保留為0755 (rwxr-xr-x)
遞歸為文件夾添加權限,並顯示權限添加信息
Tips
1.文件夾必須先要有執行權限才可讀寫
2.除了以上基本的用戶權限外,還有setuid、setgid和粘滯位等設置,有點高級。俺這里是簡明筆記