S-JIS[2003-09-07/2007-05-14] 変更履歴

chmod 〔オプション〕 属性 ファイル名

ファイルやディレクトリの属性(権限・パーミッション)を変更(change mode?)する。

chmod u+x foo.sh foo.shに所有者の実行権限を加える
chmod a+w zzz
chmod +w zzz
全員にzzzの書き込み権限を与える
chmod 740 hoge 所有者に全権限、グループに読み出し権限を与え、他人には一切権限を与えない

属性は、文字列または3桁の八進数で指定する。

権限の意味は、基礎知識参照。
特に“実行可能”の意味は、対象がファイルかディレクトリかによってかなり異なる

オプション 説明
-R サブディレクトリ内も再帰的にパーミッションを適用する。

文字列で指定する場合

対象権限付与したり削除したりするのを、それぞれ文字列で指定する。

対象 動作 権限
以下の組み合わせ 以下のいずれか 以下の組み合わせ
u 所有者(user) + 権限を与える r 読み出し
g グループ(group) - 権限を削除する w 書き込み
o 他人(other) = 特定権限のみ指定 x 実行可能
a 全て        
% chmod u+x foo.sh
% chmod ug+rw zzz
% chmod o-rwx goo
% chmod o=r hoge
% chmod u=rwx,g=r,o= mmm

数値で指定する場合

3桁の八進数で権限を直接指定する。

一桁の値で読み書き実行付与する権限を表し、
八進数の桁毎に、左から自分(user)・グループ(group)・他人(other)を表す。

権限
  以下の論理和
r 読み出し 4
w 書き込み 2
x 実行可能 1
% chmod 760 hoge

7は4+2+1で、読込・書込・実行すべてが可能。
6は4+2で、読込・書込が可能(実行は不可)。
0は何もできないことを表す。

一番左の桁が自分(所有者)、真ん中がグループ(所属グループ)、右がそれ以外なので、
760は、自分は全て行うことが出来、同一グループの人は読み書きのみ可能、それ以外の人はアクセス不能であることを示す。

文字列で指定する場合の「chmod u=rwx,g=rw,o= hoge」と同じ意味。


権限の初期値

ファイルやディレクトリを作った際に付与される初期パーミッションは、umaskで指定する。[/2003-09-20]


UNIXコマンドへ戻る
メールの送信先:ひしだま