記号モードの書式は [ugoa...][[-+=][perms...]...] です。 perms には、rwxXst のうち 0 個以上の文字か、 ugo のいずれか 1 文字を指定します。 コンマで区切って、複数の記号表現を指定することができます。
ugoa の組み合わせで、そのファイルに対するユーザのアクセス権限を制御します。 それぞれ、ファイルの所有者のユーザ (u)、ファイルのグループに属する 所有者以外のユーザ (g)、ファイルのグループに属さない他のユーザ (o)、 全てのユーザ (a) を意味します。 ugoa のどれも指定されなかった場合、(a) が指定されたのと同じ効果を 持ちますが、umask でセットされているビットは変更されません。
+ 演算子は、各ファイルの現在のファイルモードビットに 指定されたファイルモードビットを追加します。 - を指定すると、指定されたファイルモードビットが削除されます。 = を指定すると、指定されたファイルモードビットが追加され、 指定されていないビットが削除されます。 ただし、指定されていないビットのうち、ディレクトリの set-user-ID と set-group-ID は影響を受けません。
文字 rwxXst で設定対象のユーザのファイルモードビットを選択します: 読み出し許可 (r)、書き込み許可 (w)、 実行許可 (もしくはディレクトリの検索許可) (x)、 ファイルがディレクトリの場合もしくはファイルが 実行許可/検索許可 (ただし、ファイルがディレクトリの場合か、 あるユーザに対してすでに実行許可がある場合のみ) (X)、 実行時にユーザ ID もしくはグループ ID を設定する (s)、 削除制限 (restricted deletion) フラグもしくはスティッキービット (t)。 これらの文字を一つ以上指定する代わりに、 文字 ugo のいずれか一つだけを指定することもできます: ファイルを所有するユーザに付与されたアクセス許可 (u)、 ファイルのグループの所有者以外のメンバーに付与されたアクセス許可 (g)、 前記のどちらでもないユーザに付与されたアクセス許可 (o)。
数値モードでは 1 桁から 4 桁の 8 進数 (0-7) で指定します。 その値は、ビットを値 4, 2, 1 に対応させたものを加算することで得られます。 省略された桁は先頭にある 0 とみなされます。 1 桁目では、set-user-ID (4)、set-group-ID (2)、削除制限/スティッキー (1) といった属性を指定します。 2 桁目では、ファイルを所有するユーザに対するアクセス許可を指定します: 読み出し許可 (4)、書き込み許可 (2)、実行許可 (1)。 3 桁目ではファイルのグループの所有者以外のメンバーに対するアクセス許可を 指定します: 値は 2 桁目と同じ。 4 桁目ではファイルのグループに属さないユーザに対するアクセス許可を 指定します: 値は 2 桁目と同じ。
chmod はシンボリックリンクのアクセス許可を変更することはありません。 chmod システムコールがシンボリックリンクのアクセス許可を変更できないからです。 シンボリックリンクのアクセス許可が使われることは決してないため、 これは問題にはなりません。 しかし、chmod は、コマンドラインで列挙されたシンボリックリンク それぞれについて、シンボリックリンクが指しているファイルのアクセス許可を 変更します。その一方で、chmod は再帰的にディレクトリを辿っている途中で 見つけたシンボリックリンクは無視します。
ディレクトリの場合、 chmod は、明示的に指定した場合を除き、 set-user-ID ビットと set-group-ID ビットを保持します。 記号モードでこれらのビットの設定や解除を行うには、 u+s and g-s のように指定します。
数値モードでディレクトリのこれらのビットを解除するには、 先頭に 0 を一つ余計につけるか (00755)、 先頭に = をつける必要があります (=755)。
各 FILE のモードを MODE に変更します。 --reference を指定した場合は、各 FILE のモードを RFILE のものに変更する。
各 MODE の形式は '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+' です。
GNU coreutils のオンラインヘルプ: <https://www.gnu.org/software/coreutils/> 翻訳に関するバグは <https://translationproject.org/team/ja.html> に連絡してください。 詳細な文書 <https://www.gnu.org/software/coreutils/chmod> (ローカルでは info '(coreutils) chmod invocation' で参照可能)。
chmod の完全なマニュアルは Texinfo マニュアルとして整備されている。もし、 info および chmod のプログラムが正しくインストールされているならば、コマンド
を使用すると完全なマニュアルを読むことができるはずだ。