Chmod

Chmod by 字母與數字

  • June 28, 2020

最近,一位同事要求我使用chmod字母而不是數字。除了明顯的可讀性優勢之外,還有什麼特別的理由使用字母而不是數字嗎?

與八進製表示法相比,chmod符號表示法更細粒度,允許修改特定模式位,同時保持其他模式位不變。

符號表示法由三個部分組成:

chmod [references][operator][modes] file

references字母組合組成ugoa,指定將修改哪個使用者的訪問權限file:擁有它的使用者 ( u)、文件組中的其他使用者 ( g)、不在文件組中的其他使用者 ( o) 或所有使用者( a)。如果references省略該組件,則預設為所有使用者,但僅修改允許的權限umask

導致將+ operator指定的文件模式位添加到每個文件的現有文件模式位中;-導致它們被移除;並=導致添加它們並刪除未指定的位,但為目錄設置的位除外setuidsetgid除非明確指定。

mode字母組合組成rwxXst,分別對應讀(r)、寫(w)、執行(或搜尋目錄)(x)、僅當文件是目錄或已對某些使用者具有執行權限時才執行/搜尋(X),setuidsetgid(取決於指定的引用)( s) 和受限刪除標誌或粘性位 ( t)。或者,mode可以由其中一個字母組成ugo,在這種情況下,mode對應於目前授予所有者 ( u)、文件組成員 ( g) 或上述任一類別中使用者的權限 ( ) 的權限o

例子

假設權限集file0764/-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

引用自:https://unix.stackexchange.com/questions/94212