Linuxファイル権限の見方とchmodの安全な設定方法
このページの目的:chmodする前に、必要な権限とアクセス可否を判断し、過剰な権限付与を防ぐ
このページで分かること
- r・w・xと数値の対応
- 644と755の違い
- ファイルとディレクトリでのxの意味
- Permission denied発生時の案内
先に結論
権限は一律に644や755へ揃えるのではなく、ファイルの用途と実行ユーザーに合わせて必要最小限にします。変更前後は namei -l、getfacl、所有者・親ディレクトリまで確認します。
Linux権限をすぐ確認する
パーミッション、所有者、親ディレクトリを入力して、操作可否や危険な権限を確認できます。
Linux権限の基本
ls -lの先頭10文字は、ファイル種別と所有者・グループ・その他の権限を表します。
-rwxr-xr-- 1 user group 1234 Aug 6 08:00 sample.sh
| 記号 | 数値 | ファイル | ディレクトリ |
|---|---|---|---|
| r | 4 | 内容を読める | 一覧を読める |
| w | 2 | 内容を変更できる | 配下の作成・削除ができる |
| x | 1 | 実行できる | 中へ移動・参照できる |
644と755の違い
| 設定 | 所有者 | グループ | その他 | 主な用途 |
|---|---|---|---|---|
644 | 読み書き | 読み取り | 読み取り | 通常のファイル、公開設定 |
755 | 読み書き・実行 | 読み取り・実行 | 読み取り・実行 | ディレクトリ、公開スクリプト |
600 | 読み書き | なし | なし | SSH秘密鍵、機密ファイル |
700 | すべて | なし | なし | 個人用ディレクトリ、秘密スクリプト |
注意: ファイルへ安易に
777を設定しても、所有者・ACL・SELinux・親ディレクトリが原因なら解決しません。書き込み範囲だけが広がり、事故や改ざんのリスクが増えます。安全な変更手順
1. 現在の状態を確認
ls -l /path/to/file
stat /path/to/file
2. 親ディレクトリも確認
namei -l /path/to/file
3. 所有者とグループを確認
id
ls -ld /path /path/to /path/to/file
4. ACLとSELinuxを確認
getfacl /path/to/file
ls -Z /path/to/file
getenforce
よくある設定例
chmod 644 app.conf
chmod 755 deploy.sh
chmod 600 ~/.ssh/id_ed25519
chmod 700 ~/.ssh
変更後は、対象ユーザーで実際に読み取り・書き込み・実行できるか確認します。
問題発生時の案内
この作業ガイドは、chmodする前に必要最小限の権限を判断するためのページです。すでにアクセス拒否が起きている場合は、rwxだけでなく、実行ユーザー、親ディレクトリ、ACL、SELinux、マウント状態まで切り分けます。
Permission deniedが発生している場合: LinuxでPermission deniedになる原因と確認手順で、「誰が・何の操作を・パスのどこで拒否されたか」から確認してください。
自分の権限設定を確認
用途別の危険判定、アクセス可否、確認コマンドをまとめて表示します。