日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
CHMOD(1) FreeBSD 一般コマンドマニュアル CHMOD(1)
名称
chmod - ファイルのモードを変更する
書式
chmod [-fhv] [-R [-H | -L | -P]] mode file ...
解説
chmod は指定されたファイルのモードを mode で指定したものに変更します。
オプションとして以下のものがあります:
-f chmod が file のモードを変更できなかったときに、診断メッセージを
表示しませんし、失敗を示す終了値の変更を行いません。
-H -R オプションが指定されていれば、引数がシンボリックリンクのとき、
それをたどって変更します。 (ディレクトリツリー探索中に見つかった
シンボリックリンクは、デフォルトではそれ以上追跡しません)
-h ファイルがシンボリックリンクの場合、リンクの先のファイルの代りに
リンク自身のモードを変更します。
-L -R オプションが指定されていれば、すべてのシンボリックリンクをたど
り、リンク先のファイルを変更します。
-P -R オプションが指定されていても、どのシンボリックリンクもたどりま
せん。これがデフォルトです。
-R 指定されたファイル自身だけではなく、それらをルートとするディレク
トリ階層を再帰的に検索してモードを変更します。
-v chmod を冗長にし、モードが変更されるファイルを表示させます。 -v
が複数回指定された場合、ファイルの旧モードと新モードが、 8 進数お
よびシンボルにて表示されます。
-H, -L, -P オプションは、 -R オプションが指定されていなければ無視されま
す。また、これらが複数指定されると最後に指定したものが有効になります。
ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか許さ
れていません。
診断
ユーティリティ chmod は、成功すると 0 で、エラーがあった場合は >0 で終了
します。
モード
モードには、数値を用いた絶対値指定と、シンボルによる指定があります。数値
指定では、以下の値を ``or'' で組み合わせた 8 進数を用います:
4000 (setuid ビット) このビットがセットされている実行可能ファイ
ルは、ファイルを所有するユーザ ID に実効ユーザ ID を設定さ
れて実行されます。このビットをセットされているディレクトリ
は、その中で作成される全てのファイルおよびディレクトリの所
有者をディレクトリの所有者に設定することを強制し、作成する
プロセスのユーザ ID は無関係となります。これは、ディレクト
リが存在するファイルシステムがこの機能をサポートしている場
合に限られます: chmod(2) と mount(8) の suiddir オプション
を参照してください。
2000 (setgid ビット) このビットがセットされている実行可能ファイ
ルは、ファイルを所有するグループ ID に実効グループ ID を設
定されて実行されます。
1000 (スティッキービット)。 chmod(2) と sticky(8) を参照してくだ
さい。
0400 所有者の読み込みを許可。
0200 所有者の書き込みを許可。
0100 ファイルの場合、所有者の実行を許可。ディレクトリの場合、所
有者の検索を許可。
0040 グループのメンバの読み込みを許可。
0020 グループのメンバの書き込みを許可。
0010 ファイルの場合、グループのメンバの実行を許可。ディレクトリ
の場合、グループのメンバの検索を許可。
0004 他者の読み込みを許可。
0002 他者の書き込みを許可。
0001 ファイルの場合、他者の実行を許可。ディレクトリの場合、他者
の検索を許可。
例えば、所有者に読み込み・書き込み・実行を許可し、グループのメンバに読み
込み・実行を許可し、他者に読み込み・実行を許可し、 set-uid と set-gid を
指定しない絶対値指定のモードは、 755 (400+200+100+040+010+004+001) となり
ます。
シンボルによる指定は以下の文法に従います。
mode ::= clause [, clause ...]
clause ::= [who ...] [action ...] action
action ::= op [perm ...]
who ::= a | u | g | o
op ::= + | - | =
perm ::= r | s | t | w | x | X | u | g | o
who シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に
相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。
perm シンボルはモードの各ビットを以下のように表現します。
r 読み込み許可ビット
s 実行時 setuid および実行時 setgid ビット
t sticky ビット
w 書き込み許可ビット
x 実行/検索 許可ビット
X 対象がディレクトリであるか、変更前のモードで誰かの実行/検索
許可ビットが立っている場合に、実行/検索許可ビットがセットさ
れます。 perm シンボルでの ``X'' の指定は、 op シンボルを
``+''で連結する時のみ意味があり、他の場合は無視されます。
u 元の、ファイルの所有者許可ビット
g 元の、ファイルのグループ許可ビット
o 元の、ファイルの所有者とグループ以外の許可ビット
op シンボルの働きは以下のようになります
+ perm 値が指定されなければ、``+'' は何の作用もありません。 who シン
ボルが指定されていなければ、 perm 値はそれぞれの who シンボルの対応
するビットに作用し、それを umask でマスクしたビットがセットされま
す。 who シンボルが指定されていれば、その perm 値が設定されます。
- perm 値が指定されていなければ、``-'' は何の作用もありません。 who
シンボルが指定されていなければ、 perm 値はそれぞれの who シンボルの
対応するビットに作用し、それを umask でマスクしたビットがクリアされ
ます。 who シンボルが指定されていれば、その perm 値がクリアされま
す。
= who シンボルで指定されたモードビットがクリアされます。who シンボル
が指定されていなければ、所有者、グループ、その他の各モードビットが
クリアされます。 who シンボルが指定されていなければ、 perm で指定し
たビットが、所有者、グループ、その他のそれぞれを umask でマスクした
ものだけ設定されます。 who シンボルと perm が指定されていれば、その
値がそのまま設定されます。
各 clause では、モードビットを操作するためのオペレーションを 1 つ以上記述
しなければなりません。そして各オペレーションは記述した順番で適用されま
す。
所有者とグループ以外の ``o'' のみに対して、``s'' や ``t'' の組み合わせの
perm 値が指定されても無視されます。
使用例
644 ファイルを誰にでも読めるようにして、ファイルの所有者のみ書
き込み可能にします。
go-w ファイルの所有者以外の書き込みを禁止します。
=rw,+X umask でマスクされていないビットの読み書きを許可しますが、
実行許可は現在設定されているものを保持します。
+X 誰かが実行/検索可能なファイルやディレクトリならば、すべて
のユーザが実行/検索できるファイルやディレクトリとします。
755
u=rwx,go=rx
u=rwx,go=u-w 誰にでも読み込みと実行ができて、所有者のみ書き込み可能にな
るようにします。
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 4.9 March 31, 1994 FreeBSD 4.9