【Linux】chmodコマンドでのファイルモードの変更

ファイルやディレクトリのパーミッション変更には「chmod」コマンドを使用する。

「chmod」コマンドにはシンボルモード数値モードがある。

シンボルモード

シンボルモードでのバーミッション変更。

chmod [ugoa][+-=][rxw] <ファイル名>

[ugoa]:どのユーザーに対するパーミッションか

u オーナー
g グループ
o その他のユーザー
a ugoすべて

[+-=]:権限の追加または禁止

+ 権限を追加
権限を禁止
= 指定した権限と等しくする

[rxw]:読み取り、書き込み、実行

r 読み込み
w 書き込み
x 実行

1)ファイル「test.txt」の権限は「rw-rw-r–」となっており、オーナーとグループに書き込みの権限がある。これをオーナーのみ書き込みができるようパーミッションを変更する。

グループの書き込み権限を削除するということなので、以下のようなコマンドになる。

$ chmod g-w test.txt

2)ファイル「test.txt」の権限は「rw-rw-rw-」となっており、すべてのユーザーに書き込みの権限がある。これをオーナーのみ書き込みができるようパーミッションを変更する。

$ chmod go=w test.txt

数値モード

数値モードでのバーミッション変更。

シンボルモードが現状のパーミッションからの相対的な変更だったのに対し、数値モードでは元のパーミッションの状態にかかわらず、新しいパーミッションへと絶対的な変更を行う。

chmod <8進数の数値> <ファイル名>

数値モードのパーミッションの数値

オーナー グループ その他のユーザー
r w x r x r x
4 2 1 4 1 4 1
7 5 5

パーミッションを「755」へ変更

以下のコマンドでパーミッションを「755」に変更する。

$ chmod 755 test.txt

パーミッション「755」は
オーナー:読み取り、書き込み、実行が可能
その他のユーザー:読み取り、実行が可能

CentOS の一覧