CHMOD(1L)

名前
chmod - ファイルの許可モードを変更する。

書式
chmod [-Rcfv] [--recursive] [--changes] [--silent] [--quiet] [--verbose] [--help] [--version] mode file...

説明
このマニュアルページは GNU バージョンの chmod について書いている。 chmod は指定したファイルの許可モードを、記号によるモード指定方法、または 新しい許可モードを８ビットのビットパターンで表現したモード指定方法で mode に変更する。

記号によるモード指定の形式は `[ugoa...][[+-=][rwxXstugo...]...][,...]'である。 コンマで区切ることで複数のモード指定が可能である。

まず'ugoa'という文字の組合せでどのユーザーのアクセス権を変更するか を設定する。そのファイルを所有しているユーザーなら (u)、ファイルの 所有グループに所属してれば (g)、それ以外のユーザーなら (o)、 すべてのユーザーが対象なら (a) を使う。 これらを１つも指定しなければ 'a' を指定したとして扱うが umask で設定 されたビットは影響しない。

演算子 '+' でそれぞれのファイルの現在の許可モードに、指定した許可モード を加える。'-' では指定した許可モードを削除する。'=' では指定した 許可モードのみをそのファイルがもつようにする。

文字 `rwxXstugo' で新しい許可モードを指定する。読み取り許可(r)、 書き込み許可(w)、実行許可(またはディレクトリへのアクセス許可)(x)、 ファイルがディレクトリだった場合もしくは既に実行許可を持った ユーザーがいる場合のみ実行許可(X)、set user IDまたは set group ID をオン(s)、スワップ領域にプログラムのテキスト部分を保存(t)、現在ファイルを所有 しているユーザーの許可モードをコピー(u)、 ファイルの所有グループの許可モードをコピー(g)、その他のユーザーの許可モード をコピー(o) である。

数字によるモード指定は1つ〜4つの8ビット数字(0-7)で指定する。 この8ビット数字は4,2,1という数値を加えて作られたものである。 省略された数字は0とみなされる。最初の数字は set user ID (4)、 set group ID (2)、テキスト部分の保存 (1) を組み合わせて設定する。２番目の数字 はファイルを所有しているユーザーの許可モードを設定する。読み取り許可(4)、 書き込み許可(2)、実行許可(1)である。３番目の数字ではファイルを所有するグループ の許可モードを設定する。指定する数値は２番目とおなじである。４番目の 数字ではその他のユーザーの許可モードを設定する。この数値も同様である。

chmod はシンボリックリンクの許可モードを変更しない。 chmod システムコールも同様である。 シンボリックリンクの許可モードは使われないのでこのことが問題となることはない。 しかし、引数としてシンボリックリンクを指定すると chmod はそれが指し示すファイルの許可モードを変更する。 が、一方で chmod はディレクトリ内を再帰的に変更するとき、その中のシンボリックは無視する。

  オプション

-c, --changes
    許可モードを変更したファイルのみ詳細に表示する。

-f, --silent, --quiet
    許可モードを変更できなかったファイルについてのエラーメッセージを 表示しない。

-v, --verbose
    変更された許可モードを詳細に表示する。

-R, --recursive
    ディレクトリとその中身の許可モードを再帰的に変更する。

--help
    使い方を標準出力に表示する。

--version
    バージョン情報を標準出力に表示する。