Linuxコマンド集
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

chmod  ファイルやディレクトリのアクセス権を変更する (1)

 構文  
chmod [-cfvR] [--recursive] [--changes] [--silent] [--quiet] [--verbose] [--help] mode file...

 オプション  
-c, --changes アクセス権限が変更されたファイルのみ詳細に表示する
-f, --silent, --quiet アクセス権限を変更できなかった場合でも,エラー・メッセージを表示しない
-v, --verbose アクセス権限の変更を詳細に表示する
-R, --recursive ディレクトリとその中身のアクセス権限を再帰的に変更する
--help chmodコマンドの使用法を表示する
mode 変更するアクセス権を記述する。記述方法は後述の「modeの記号による記述方法」を参照
file アクセス権を変更するファイルやディレクトリを記述する。また,ワイルド・カードも使用できる

 説明  

ファイルやディレクトリのアクセス権限を変更する。所有者,グループ,その他のユーザーに対して,それぞれ読み出し,書き込み,実行権限を与えられる。ここで実行権限をファイルに指定するとコマンドやスクリプトなどとして使用できる


 modeの記号による記述方法  

[ugoa][+-=][rwx],...
 権限はカンマで区切ることによりいくつでも記述できる。また,最初のユーザーの設定項目を省略したときは,すべてのユーザーと同等の意味になる

u 所有者の権限
g グループの権限
o その他のユーザーの権限
a すべての権限
+ 後に記述した権限を付加する
- 後に記述した権限を削除する
= 後に記述した権限にする
r 読み込み権限
w 書き込み権限
x 実行権限
s セットID
t スティッキ・ビット

 modeの数字による記述方法  

3桁の8進数を使用して権限を指定することもできる。左から順に所有者,グループ,その他のユーザーの権限を表す。

0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx

 特殊なモード  

 読み出し・書き込み・実行のほか「chmod」ではスティッキ・ビットおよびセットIDの指定をすることができる。

drwxrwxrwt スティッキ・ビット。指定したディレクトリ以下のファイルの削除・ファイル名の変更は所有者のみが行える
-rwsr-xr-x セット・ユーザーID。他人が実行する際,所有者の権限で実行する
-rwxrwsr-x セット・グループID。他人が実行する際,グループの権限で実行する

 使用例  
testファイルの権限を変更する
$ ls -l
-rw-r--r--   1 hoge     hoge-grp      154 Nov 01 00:00 test
$ chmod a+x test     ←すべてのユーザーに実行権限を与える
$ ls -l
-rwxr-xr-x   1 hoge     hoge-grp      154 Nov 01 00:00 test
$ chmod g+w,o= test  ←グループに書き込み権限をその他のユーザーにはすべて禁止する
$ ls -l
-rwxrwx---   1 hoge     hoge-grp      154 Nov 01 00:00 test
$ chmod 444 test     ←数字表記ですべてのユーザーを読み出し権限のみにする
$ ls -l
-r--r--r--   1 hoge     hoge-grp      154 Nov 01 00:00 test
$ chmod 1777 test-dir     ←スティッキ・ビットを付加する
$ ls -l
drxwrxwrxt   1 hoge     hoge-grp      154 Nov 01 00:00 test-dir
$ chmod u+s test-prog1     ←ファイルにセット・ユーザーIDを付加する
$ ls -l
-rwsr-xr-x   1 hoge     hoge-grp      154 Nov 01 00:00 test-prog1
$ chmod g+s test-prog2     ←ファイルにセット・グループIDを付加する
$ ls -l
-rwxrwsr-x   1 hoge     hoge-grp      154 Nov 01 00:00 test-prog2

 関連事項  
chgrpchownlsパーミッションを変更するアクセス権限とは