CHMOD(1) FreeBSD 一般コマンドマニュアル CHMOD(1)
名称
chmod − ファイルのモードを変更する |
書式
chmod [−fhv] [−R [−H | −L | −P]] mode file ... |
解説 |
chmod は指定されたファイルのモードを mode で指定したものに変更します。 オプションとして以下のものがあります: |
−f
chmod が file のモードを変更できなかったときに、診断メッセージを 表示しませんし、失敗を示す終了値の変更を行いません。 −H −h −L −P −R −v −H, −L, −P オプションは、 −R オプションが指定されていなければ無視されま す。また、これらが複数指定されると最後に指定したものが有効になります。 ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか許さ れていません。 診断 |
ユーティリティ chmod は、成功すると 0 で、エラーがあった場合は >0 で終了 します。 |
モード
モードには、数値を用いた絶対値指定と、シンボルによる指定があります。数値 指定では、以下の値を ‘‘or’’ で組み合わせた 8 進数を用います: |
4000
(setuid ビット)
このビットがセットされている実行可能ファイ
ルは、ファイルを所有するユーザ ID に実効ユーザ ID を設定さ
れて実行されます。このビットをセットされているディレクトリ
は、その中で作成される全てのファイルおよびディレクトリの所
有者をディレクトリの所有者に設定することを強制し、作成する
プロセスのユーザ ID は無関係となります。これは、ディレクト
リが存在するファイルシステムがこの機能をサポートしている場
合に限られます: chmod(2) と mount(8) の suiddir
オプション を参照してください。 例えば、所有者に読み込み・書き込み・実行を許可し、グループのメンバに読み 込み・実行を許可し、他者に読み込み・実行を許可し、 set-uid と set-gid を 指定しない絶対値指定のモードは、 755 (400+200+100+040+010+004+001) となり ます。 シンボルによる指定は以下の文法に従います。 mode ::= clause [, clause ...] who シンボルの ‘‘u’’, ‘‘g’’, ‘‘o’’ はそれぞれユーザ、グループ、それ以外に 相当します。‘‘a’’ シンボルは ‘‘ugo’’ を指定した場合と同じになります。 perm シンボルはモードの各ビットを以下のように表現します。 |
r
読み込み許可ビット op シンボルの働きは以下のようになります + − = 各 clause では、モードビットを操作するためのオペレーションを 1 つ以上記述 しなければなりません。そして各オペレーションは記述した順番で適用されま す。 所有者とグループ以外の ‘‘o’’ のみに対して、‘‘s’’ や ‘‘t’’ の組み合わせの perm 値が指定されても無視されます。 使用例 |
644
ファイルを誰にでも読めるようにして、ファイルの所有者のみ書 き込み可能にします。 go-w =rw,+X +X 755 go= g=u-w バグ |
naughty bit のための perm オプションがありません。 |
互換性
−v オプションは非標準であり、スクリプト中の使用は非推奨です。 |
関連項目
chflags(1), install(1), setfacl(1), chmod(2), stat(2), umask(2), fts(3), setmode(3), symlink(7), chown(8), mount(8), sticky(8) |
規格
chmod ユーティリティは、規格にない perm シンボルの ‘‘t’’ を除いては IEEE Std 1003.2 (‘‘POSIX.2’’) 互換になるように作られています。 |
歴史
chmod コマンドは Version 1 AT&T UNIX から導入されました。 FreeBSD 10.0 March 31, 1994 FreeBSD 10.0 |