Linuxコマンド虎の巻

chmod

chmodは、ファイル、ディレクトリのアクセス権を変更するコマンドです。

構文

(構文)
chmod [オプション] <モード> <ディレクトリ/ファイル>
【オプション】
オプション説明
-f変更できなかった場合でもエラーを表示しない
-Rディレクトリ内ファイルも再帰的に変更する

モード

モードは所有者、グループ、その他 毎に「読込」「書込」「実行」権限を指定します。
指定は以下の要素を組み合わせて指定します。

【対象】
u所有者
gグループ
oその他
a全てのユーザー
【権限】
r読込権限
w書込権限
x実行権限
【その他】
+権限を付与
-権限を剥奪
=権限を変更

2進数表記を使って指定するには以下のように指定します。

【2進数表記を使った権限指定】
---0
--x1
-w-2
-wx3
r--4
r-x5
rw-6
rwx7

以下はよく使われるパーミッションの指定パターンです。

777rwxrwxrwx特に制限を掛けたくないファイル
755rwxr-xr-x実行が必要なファイル
※ディレクトリ作成時のデフォルト値
644rw-r--r--読取のみ必要なファイル
700rwx------所有者以外に何もされたくないファイル
666rw-rw-rw-読取と書き換えが必要なファイル

サンプル

test.txtのアクセス権を「755」(rwxr-xr-x)に変更する

$ chmod 755 test.txt

test.txtに読込み権限を与える

$ chmod +r test.txt

所有者、グループ、その他 全てに読込み権限が付与されます。

test.txtのグループのみに読込み権限を与える

$ chmod g+r test.txt

test.txtの全てのユーザに実行権限を与える

$ chmod a+x test.txt

test.txtから読込み権限を剥奪する

$ chmod -r test.txt

所有者、グループ、その他 全てから読込み権限が剥奪されます。

test.txtの「その他ユーザ」のみから読込み権限を剥奪する

$ chmod o-r test.txt

備考

  • chmodは、change modeの略です。
  • 権限を変更できる権限が無い場合はchmodは実行できません。