ひとり勉強ログ

ITエンジニアの勉強したことメモ

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

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

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

シンボルモード

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

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

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

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

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

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

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

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

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

グループの書き込み権限を削除するということなので、以下のようなコマンドになる。 [bash] $ chmod g-w test.txt [/bash]

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

数値モード

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

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

[bash] chmod <8進数の数値> <ファイル名> [/bash]

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

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

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

以下のコマンドでパーミッションを「755」に変更する。 [bash] $ chmod 755 test.txt [/bash]

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