本文的初衷僅供自己做備忘筆記, 內容大多從網上搜集和整理, 并非都是自己原創(chuàng).
參考的來源我會在后面注明, 對于可能遺漏的來源還請相關原創(chuàng)作者提醒, 非常感謝.
改變一個或多個文件的存取模式(mode)/權限
chmod [options] mode files
只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。
mode可以是數(shù)字形式, 或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)??芍付ǘ鄠€mode,以逗號分開。
| options | 說明 |
|---|---|
| -c,--changes | 只輸出被改變文件的信息 |
| -f,--silent,--quiet | 當chmod不能改變文件模式時,不通知文件的用戶 |
| --help | 輸出幫助信息。 |
| -R,--recursive | 可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄 |
| --reference=filename | 參照filename的權限來設置權限 |
| -v,--verbose | 無論修改是否成功,輸出每個文件的信息 |
| --version | 輸出版本信息。 |
| who | 說明 |
|---|---|
| u | 用戶 |
| g | 組 |
| o | 其它 |
| a | 所有用戶(默認) |
| opcode | 說明 |
|---|---|
| + | 增加權限 |
| - | 刪除權限 |
| = | 重新分配權限 |
| permission | 說明 |
|---|---|
| r | 讀 |
| w | 寫 |
| x | 執(zhí)行 |
| s | 設置用戶(或組)的ID號 |
| t | 設置粘著位(sticky bit),防止文件或目錄被非屬主刪除 |
| u | 用戶的當前權限 |
| g | 組的當前權限 |
| o | 其他用戶的當前權限 |
作為選擇,我們多數(shù)用三位八進制數(shù)字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過4(讀)、2(寫)、1(執(zhí)行)三種數(shù)值的和來確定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執(zhí)行的權限。
還可設置第四位,它位于三位權限序列的前面,第四位數(shù)字取值是4,2,1,代表意思如下:
4,執(zhí)行時設置用戶ID,用于授權給基于文件屬主的進程,而不是給創(chuàng)建此進程的用戶。
2,執(zhí)行時設置用戶組ID,用于授權給基于文件所在組的進程,而不是基于創(chuàng)建此進程的用戶。
1,設置粘著位。
示例:
$ chmod u+x file 給file的屬主增加執(zhí)行權限
$ chmod 751 file 給file的屬主分配讀、寫、執(zhí)行(7)的權限,給file的所在組分配讀、執(zhí)行(5)的權限,給其他用戶分配執(zhí)行(1)的權限
$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
$ chmod =r file 為所有用戶分配讀權限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限
$ chmod 4755 設置用ID,給屬主分配讀、寫和執(zhí)行權限,給組和其他用戶分配讀、執(zhí)行的權限。