Chmod
Chmod by 字母與數字
最近,一位同事要求我使用
chmod
字母而不是數字。除了明顯的可讀性優勢之外,還有什麼特別的理由使用字母而不是數字嗎?
與八進製表示法相比,
chmod
符號表示法更細粒度,允許修改特定模式位,同時保持其他模式位不變。符號表示法由三個部分組成:
chmod [references][operator][modes] file
由
references
字母組合組成ugoa
,指定將修改哪個使用者的訪問權限file
:擁有它的使用者 (u
)、文件組中的其他使用者 (g
)、不在文件組中的其他使用者 (o
) 或所有使用者(a
)。如果references
省略該組件,則預設為所有使用者,但僅修改允許的權限umask
。導致將
+
operator
指定的文件模式位添加到每個文件的現有文件模式位中;-
導致它們被移除;並=
導致添加它們並刪除未指定的位,但為目錄設置的位除外setuid
,setgid
除非明確指定。由
mode
字母組合組成rwxXst
,分別對應讀(r
)、寫(w
)、執行(或搜尋目錄)(x
)、僅當文件是目錄或已對某些使用者具有執行權限時才執行/搜尋(X
),setuid
或setgid
(取決於指定的引用)(s
) 和受限刪除標誌或粘性位 (t
)。或者,mode
可以由其中一個字母組成ugo
,在這種情況下,mode
對應於目前授予所有者 (u
)、文件組成員 (g
) 或上述任一類別中使用者的權限 ( ) 的權限o
。例子
假設權限集
file
為0764/-rwxrw-r--
刪除不在文件組中的其他使用者的權限:
- 八進制:
chmod 760 file
請注意,在使用八進製表示法時,必須重複保持不變的現有權限。
- 象徵性:
chmod o-rwx file
使用符號表示法,現有的文件權限無關緊要。
設置
setuid
:
- 八進制:
chmod 4764 file
- 象徵性:
chmod u+s file
設置
setgid
:
- 八進制:
chmod 2764 file
- 象徵性的
chmod g+s file