
Linux や Unix 系 OS を扱う上で欠かせないのが「ファイル・ディレクトリの権限設定」です。適切なパーミッションの管理は、セキュリティの観点でも、開発の効率化という点でも重要なポイントです。本記事では、chmod・chown・umask の基本について、実例を交えてわかりやすく解説します。
目次
目次
chmod:パーミッションを変更する
chmod コマンドは、ファイルやディレクトリのアクセス権限(読み取り・書き込み・実行)を変更するために使用します。
パーミッションの基本構造
-rwxr-xr-- 1 user group 1234 May 9 10:00 sample.sh
この表記の意味:
- 最初の文字:
-はファイル、dはディレクトリ rwx:所有者(user)の権限(読み・書き・実行)r-x:グループの権限(読み・実行)r--:その他ユーザーの権限(読みのみ)
数値での指定(オクタル表記)
| 権限 | 数値 |
|---|---|
| 読み取り(r) | 4 |
| 書き込み(w) | 2 |
| 実行(x) | 1 |
たとえば、chmod 755 sample.sh は次の意味になります:
- 所有者:7(=4+2+1)=
rwx - グループ:5(=4+0+1)=
r-x - その他:5(=4+0+1)=
r-x
chmod 755 sample.sh
シンボリック表記での指定
chmod u+x script.sh # 所有者に実行権限を追加
chmod go-w script.sh # グループとその他から書き込み権限を削除
chown:所有者やグループを変更する
ファイルの所有者やグループを変更したいときには chown コマンドを使います。
基本構文
chown [所有者]:[グループ] ファイル名
例:
chown www-data:www-data /var/www/html/index.html
これは、index.html の所有者とグループを www-data に設定する例です。
- 所有者だけ変更する場合:
chown user1 file.txt - グループだけ変更する場合:
chown :staff file.txt
umask:デフォルトのパーミッションを制御する
umask は、新しく作成されたファイルやディレクトリの「初期パーミッション」を制御します。
umask の計算方法
- デフォルトのパーミッション
- ファイル:666(rw-rw-rw-)
- ディレクトリ:777(rwxrwxrwx)
umask で引かれた値が実際のパーミッションになります。
例:umask が 022 の場合
- ファイル:
666 - 022 = 644→rw-r--r-- - ディレクトリ:
777 - 022 = 755→rwxr-xr-x
umask 022
touch test.txt
ls -l test.txt
# -rw-r--r-- となる
umask の確認と変更
現在の umask を確認するには:
umask
一時的に変更するには:
umask 027
恒久的に設定したい場合は、~/.bashrc や ~/.bash_profile に書きます:
umask 027
まとめ:ファイルとディレクトリの権限を理解して安全な運用を
ファイルの読み書き・実行の制御は、セキュリティやチーム開発において非常に重要な基礎知識です。
chmodでアクセス権を適切に調整し、chownで所有者やグループを設定し、umaskで新規作成時のパーミッションを制御する
これらを理解することで、意図しない情報漏洩や操作ミスを未然に防ぐことができます。サーバー運用や開発業務に携わる方は、ぜひ一度自分の環境の設定を見直してみてください。










