Linuxを使う上で欠かせない「パーミッション(権限)」の管理。その中でもchmodコマンドは、ファイルやディレクトリのアクセス権を設定・変更するための重要なコマンドです。適切に使いこなすことで、セキュリティを強化し、意図しないアクセスを防ぐことができます。
この記事では、chmodコマンドの基本的な使い方から、数値指定・記号指定の方法、具体的な活用例まで詳しく解説します。Linux初心者でも理解しやすいように、実例を交えて解説するので、ぜひ参考にしてください!
chmodコマンドとは?
chmod(change mode)は、ファイルやディレクトリのアクセス権を変更するためのコマンドです。Linuxでは、ファイルやディレクトリには「所有者」「グループ」「その他」の3つのユーザー区分があり、それぞれに対して「読み取り(r)」「書き込み(w)」「実行(x)」の権限が設定されています。
基本構文
chmod [オプション] モード ファイル名
モード
:アクセス権を設定(数値指定・記号指定が可能)ファイル名
:対象のファイルやディレクトリオプション
(省略可):再帰的に適用する-R
など
パーミッションの基本(rwxの意味)
Linuxのファイル権限は、r(読み取り)、w(書き込み)、x(実行) の3種類があります。これらの権限を所有者・グループ・その他の3つのカテゴリに分けて設定します。
権限 | 読み取り (r) | 書き込み (w) | 実行 (x) |
---|---|---|---|
値 | 4 | 2 | 1 |
例 | -rwxr-xr-- | -rw-r--r-- | -rwx------ |
例えば、-rw-r--r--
というパーミッションの場合、
- 所有者(user)は
rw-
(読み・書きOK、実行不可) - グループ(group)は
r--
(読み取りのみ) - その他(other)は
r--
(読み取りのみ)
chmodの使い方(数値指定・記号指定)
chmodコマンドでは、パーミッションを「数値指定」または「記号指定」の2通りで設定できます。
数値指定の方法
数値で設定する場合は、読み取り(4)、書き込み(2)、実行(1) の値を足し合わせて指定します。
bashコピーする編集するchmod 755 ファイル名
数値 | 権限 |
---|---|
777 | 所有者・グループ・その他すべてに rwx (完全な権限) |
755 | 所有者は rwx 、グループとその他は r-x |
644 | 所有者は rw- 、グループとその他は r-- |
例:
chmod 700 secret.txt # 所有者のみが読み書き実行できる
chmod 644 document.txt # 所有者が書き込み可能、その他は読み取りのみ
記号指定の方法
記号(シンボリックモード)で設定する場合は、以下の形式で指定します。
bashコピーする編集するchmod [対象] [操作] [権限] ファイル名
記号 | 意味 |
---|---|
u | 所有者 (user) |
g | グループ (group) |
o | その他 (other) |
a | 全員 (all) |
例:
chmod u+x script.sh # 所有者に実行権限を追加
chmod g-w data.txt # グループの書き込み権限を削除
chmod o+r file.txt # その他に読み取り権限を追加
chmodのオプション
chmodには便利なオプションもあります。
再帰的に権限を変更(-R)
ディレクトリ以下のすべてのファイル・ディレクトリに適用する場合は -R
オプションを使います。
chmod -R 755 /var/www/
他のファイルのパーミッションを適用(–reference)
他のファイルの権限をコピーすることも可能です。
chmod --reference=source.txt target.txt
chmodの実践例
1. シェルスクリプトを実行可能にする
シェルスクリプトを実行するには、x
権限を付与します。
chmod +x script.sh
./script.sh
2. 重要なファイルの書き込みを禁止する
設定ファイルなどを誤って変更しないようにするために、書き込み権限を外します。
chmod 444 config.cfg
3. Webサーバー用のファイルの権限を設定する
ApacheやNginxのドキュメントルートに配置するファイルは、適切な権限を設定する必要があります。
chmod -R 755 /var/www/html/
この設定では、所有者が変更でき、グループ・その他が実行できる状態になります。
chmodを使う際の注意点
chmodコマンドを使うと、簡単にパーミッションを変更できますが、適切な設定をしないとセキュリティリスクが高まる ことがあります。
1. 777にしない
すべてのユーザーにフルアクセス権限を与える 777
は、意図しない改ざんのリスクがあります。
解決策: 必要最低限の権限のみを付与する
2. 実行権限の扱いに注意
シェルスクリプトやプログラムには実行権限 (x
) を付けますが、不用意に付けるとセキュリティホールになることもあります。
解決策: chmod +x
は本当に必要なもののみに適用する
まとめ
chmodコマンドを活用すると、Linuxのファイルやディレクトリのアクセス権を自由に設定できます。
ポイントの振り返り
✔ chmodコマンドの基本構文
✔ パーミッションの概念(rwx・数値指定・記号指定)
✔ chmodの具体的な使用例
✔ chmodのオプション(-R, –reference)
✔ chmodの注意点(777を避ける、実行権限の管理)
正しいパーミッション設定をすることで、セキュリティを向上させ、安全にLinuxを運用 できます。ぜひ実践してみてください!