table of contents
- Tumbleweed 20260515-1.1
- Leap-16.0
- Leap-15.6
| CHMOD(1) | ユーザーコマンド | CHMOD(1) |
名前¶
chmod - ファイルのモードビットを変更する
書式¶
chmod [OPTION]... MODE[,MODE]...
FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
説明¶
このマニュアルページでは GNU バージョンの chmod について説明しています。 chmod は指定されたファイルのモードビット (mode bits) を Imode に基いて変更します。 Imode は、変更内容の記号表現 (記号モード)か、新しく設定するモードビットの ビットパターンを表す 8 進数 (数値モード) のどちらかで指定します。
記号モードの書式は [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 は再帰的にディレクトリを辿っている途中で見つけたシンボリックリンクは無視します。 この動作を変更するオプションは オプション 節で説明しています。
SETUID ビットと SETGID ビット¶
chmod は、ファイルのグループ ID がユーザの実効グループ ID とも ユーザの追加グループ ID とも一致せず、ユーザが適切な特権を持っていない場合は、 通常のファイルの set-group-ID ビットをクリアします。 他にも追加の制限があり、MODE や RFILE の set-user-ID ビットや set-group-ID ビットが無視される場合があります。どのような動作になるかは 裏で呼び出される chmod システムコールのポリシーや機能に依存します。 疑わしい点がある場合は、動作しているシステムの動作を確認して下さい。
ディレクトリの場合、 chmod は、明示的に指定した場合を除き、 set-user-ID ビットと set-group-ID ビットを保持します。 記号モードでこれらのビットの設定や解除を行うには、 u+s と g-sのように指定します。 数値モードでディレクトリのこれらのビットを解除するには、 00755 のように先頭に 0 を一つ余計につけるか、 -6000 のように先頭にマイナスを付けるか、 =755 のように、先頭に = をつける必要があります。
削除制限フラグとスティッキービット¶
削除制限フラグ (restricted deletion flag) とスティッキービット (sticky bit) は 1 ビットの情報で、ファイル種別によりその意味が変わります。 ディレクトリの場合、このビットがセットされていると、 非特権ユーザは、自分が所有者のファイルやディレクトリ以外は そのディレクトリにあるファイルの削除や名前変更ができなくなります。 この機能はディレクトリの 削除制限フラグ と呼ばれ、/tmp などの誰でも書き込みできるディレクトリでは一般的に使われています。 いくつかの古いシステムでは、通常のファイルでこのビットが設定されている場合、 そのプログラムのテキストイメージがスワップデバイス上に保持され、 実行時により早くファイルがロードできるようになります。 この機能は スティッキービット と呼ばれます。
オプション¶
各 FILE のモードを MODE に変更します。 --reference を指定した場合、各 FILE のモードを RFILE のものに変更します。
- -c, --changes
- verbose モードと同様ですが、変更が行われた場合にのみ出力します。
- -f, --silent, --quiet
- ほとんどのエラーメッセージの出力を抑制します。
- -v, --verbose
- 処理した各ファイルについて診断メッセージを出力します。
- --dereference
- シンボリックリンク自身ではなく、シンボリックリンクの 参照先に対して操作を行います。
- -h, --no-dereference
- 参照先ではなくシンボリックリンクに適用します。
- --no-preserve-root
- '/' を特別扱いしません。 (デフォルト)
- --preserve-root
- '/' に対する再帰的な操作を失敗させます。
- --reference=RFILE
- MODE の値ではなく RFILE のモードを使用します。シンボリックリンクの場合、 RFILE は常時逆参照されます。
- -R, --recursive
- ファイルとディレクトリを再帰的に変更します。
以下のオプションを使うと、-R オプションが併せて指定されたときにどのように 階層を辿るかの動作を変更できます。複数のオプションが指定された場合は、 最後に指定されたオプションだけが有効になります。-H がデフォルトです。
- -H
- コマンドライン引数がディレクトリに対するシンボリックリンクの場合に、リンクを辿ります。
- -L
- ディレクトリに対するシンボリックリンクに遭遇した時には、そのリンクを全て辿ります。
- -P
- シンボリックリンクを一切辿りません。
- --help
- 使い方を表示して終了します。
- --version
- バージョン情報を表示して終了します。
各 MODE の形式は '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+' です。
作者¶
作者 David MacKenzie および Jim Meyering。
バグのレポートについて¶
バグのレポートは
bug-coreutils@gnu.org
までお寄せ下さい。
GNU coreutils のホームページ:
<https://www.gnu.org/software/coreutils/>
一般的な GNU
ソフトウェア使用に関するヘルプは
<https://www.gnu.org/gethelp/> です。
翻訳に関するバグは
<https://translationproject.org/team/ja.html>
に連絡してください。
著作権¶
Copyright © 2025 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
関連項目¶
完全なマニュアルは
<https://www.gnu.org/software/coreutils/chmod> か、
ローカルで有効になっていれば
info '(coreutils) chmod invocation' です。
日本語訳¶
対応バージョン:9.8 翻訳日:2025-11-09 翻訳者:ribbon
| 2025/09 | GNU coreutils 9.8 |