【chmod(ファイルモードアクセスパーミッションの変更) - (1)】 |
| 《書式》 |
| |
chmod [-A] [-R] シンボリックモードリスト ファイル名 …
旧型式
chmod [-A] [-R] 数値モード ファイル名 …
|
| 《説明》 |
| |
chmodコマンドは、シンボリックモードリスト又は数値モードの値に従って、ファイル名で指定したファイルのパーミッションを変更する。
なお、ls -lコマンドを使用して、ファイルに対する現在のパーミッションを表示することができる。
コマンドオプション
-A:ファイルに関連するオプションのアクセス制御リスト(ACL)エントリーを保存する。ディフォルトでは、オプションのACLエントリーが削除される。
-R:ファイルモードビットを再帰的に変更する。chmodコマンドは、指定されたディレクトリごとに、ディレクトリとそのディレクトリの配下にある全ファイル、及びサブディレクトリに関するファイルモードビットを変更する。
シンボリックモードリスト
シンボリックモードリストは、次の型式の操作リストをそれぞれ,で区切ったものである。
[対象者]操作[パーミッション][,…]
対象者:以下のいずれか、又は複数の項目の組み合わせである。
u:ユーザー(所有者)のアクセスパーミッションを変更する。
g:グループのアクセスパーミッションを変更する。
o:その他のユーザーのアクセスパーミッションを変更する。
a:すべてのユーザのアクセスパーミッションを変更する。aは、ugoと等価である。
操作:以下の操作を指定する。
+:既存のファイルモードビットにパーミッションを追加する。
-:既存のファイルモードビットからパーミッションを削除する。
=:既存のファイルモードビットを、新しいパーミッションに置き換える。
パーミッション:以下の組み合わせでアクセスパーミッションを指定する。
r:読み取りパーミッションを追加あるいは削除する。
w:書き込みパーミッションを追加あるいは削除する。
x:ファイル実行(ディレクトリ検索)パーミッションを追加あるいは削除する。
s:ファイル実行時の所有者ID設定パーミッション、又はファイル実行時のグループID設定パーミッションを追加あるいは削除する。対象者にu又はgが暗黙的あるいは明示的に指定された場合のみ有効。
t:ファイル実行時のテキストイメージ保存(スティッキービット)パーミッションを追加あるいは削除する。対象者にuが暗黙的あるいは明示的に指定された場合のみ有効。
X:次の様に、条件付きで実行又は検索パーミッションを追加あるいは削除する。
(a)指定したファイル名がディレクトリの場合、既存ファイルモードの検索パーミッションを追加あるいは削除する(xと同様)。
(b)指定したファイル名がディレクトリではない場合で、現在のファイルパーミッションに一つ以上のユーザー、グループ及びその他のユーザーに対する実行パーミッション(ls lにより、xあるいはsが表示)が有れば、実行ファイルパーミッションを追加あるいは削除する。
(c)指定したファイル名がディレクトリではない場合で、現在のファイルモードに実行パーミッションが設定されていない場合は、実行パーミッションは変更されない。
数値モード
絶対パーミッション(数値モード)は、次のモードビットの論理和で構成した8進数を指定して設定できる。
各種モードビット
4000(= u=s):ファイル実行時にユーザーIDをセットする(ファイルのみ)。
2000(= g=s):ファイル実行時にグループIDをセットする。
1000(= u=t):スティッキービットをセットする。
パーミッションモード
0400(= u=r):所有者による読み取り
0200(= u=w):所有者による書き込み
0100(= u=x):所有者によるファイル実行(ディレクトリ検索)
0040(= g=r):グループによる読み取り
0020(= g=w):グループによる書き込み
0010(= g=x):グループによりファイル実行(ディレクトリ検索)
0004(= o=r):その他による読み取り
0002(= o=w):その他による書き込み
0001(= o=x):その他によるファイル実行(ディレクトリ検索)
注記
ファイルモードを変更できるのは、その所有者又は適切な特権を有するユーザーに限られる。
ファイルのスティッキービットをセットできるのは、適切な特権を有するユーザーに限られる。
戻り値
正常終了:0
異常終了:>0
|
| 《使用例》 |
| |
chmod o-w file1 … file1について、その他のユーザーに対する書き込みパーミッションを拒否する。
chmod a+x file1 … file1について、すべてのユーザーに対してファイルを実行可能にする。
chmod a=rx,u+s file1 … file1について、すべてのユーザーに読み取りと実行パーミッションを与え、ユーザーID設定ビットをセットする。
chmod u=rw,go=r file1 … file1について、所有者に読み取りと書き込みパーミッションを与え、その他のすべてのユーザーに読み取りパーミッションを与える。
chmod 644 file1 … file1について、所有者に読み取りと書き込みパーミッションを与え、その他のすべてのユーザーに読み取りパーミッションを与える。
|
|