Linuxファイルパーミッション完全ガイド:chmod、chownでセキュリティを強化
Linuxのファイルパーミッションを基礎から徹底解説。chmod、chownコマンドの使い方、所有権の変更、セキュリティ設定の実践例を紹介。初心者にもわかりやすく説明。
Linuxパーミッションchmodchown所有権セキュリティ2026/5/25
Linuxファイルパーミッションとは?
Linuxはマルチユーザーシステムであり、ファイルやディレクトリへのアクセスを制御するためにパーミッション(権限)を設定します。パーミッションは、ファイルの所有者(owner)、所有グループ(group)、その他のユーザー(others)の3つのカテゴリに対して、読み取り(r)、書き込み(w)、実行(x)の権限を指定します。
パーミッションの表示
ls -lコマンドでファイルの詳細情報を表示すると、左端に-rwxr-xr--のような10文字のパーミッション文字列が表示されます。
-は通常ファイル、dはディレクトリ)例:-rwxr-xr--
数値表現
パーミッションは8進数(3桁の数字)でも表せます。各権限に数値が割り当てられています。各カテゴリの数値を合計します。例:rwx = 4+2+1=7、r-x = 4+0+1=5、r-- = 4+0+0=4。
つまり-rwxr-xr--は755と表せます。
chmodコマンド:パーミッションの変更
chmod(change mode)コマンドでファイルやディレクトリのパーミッションを変更します。
シンボルモード
記号を使って権限を指定します。u:所有者、g:グループ、o:その他、a:すべて+:権限追加、-:権限削除、=:権限設定例:
chmod u+x file:所有者に実行権限を追加chmod go-w file:グループとその他から書き込み権限を削除chmod a=r file:全ユーザーに読み取り権限のみ設定絶対モード(数値モード)
3桁の8進数で権限を指定します。chmod 755 file:所有者にrwx、グループとその他にr-xchmod 644 file:所有者にrw-、グループとその他にr--ディレクトリのパーミッション
ディレクトリの場合、実行権限(x)はそのディレクトリ内に入る(cd)ために必要です。また、書き込み権限があればファイルの作成・削除が可能です。例:chmod 755 dir:所有者はすべて可能、グループとその他はディレクトリに入り読み取り可能。
chownコマンド:所有権の変更
chown(change owner)コマンドでファイルやディレクトリの所有者とグループを変更します。スーパーユーザー(root)のみが実行できます。
基本構文
chown [オプション] 所有者[:グループ] ファイル
例:
chown user1 file:所有者をuser1に変更chown user1:group1 file:所有者をuser1、グループをgroup1に変更chown :group1 file:グループのみgroup1に変更再帰的変更
-Rオプションでディレクトリ内の全ファイル・サブディレクトリを再帰的に変更します。
chown -R user1:group1 /home/user1
実践的なセキュリティ設定例
1. Webサーバーのファイル権限
2. SSH鍵のパーミッション
3. 共有ディレクトリ
グループで共有する場合、setgidビットを設定すると便利です。chmod 2775 shared_dir(2はsetgidビット)
これにより、そのディレクトリ内に作成されたファイルのグループが自動的に親ディレクトリのグループになります。
特殊パーミッション
SUID (Set User ID)
数値表現:4xxx ファイルに設定すると、実行時に所有者の権限で動作します。chmod u+s file または chmod 4xxx file
SGID (Set Group ID)
数値表現:2xxx ファイル:実行時にグループの権限で動作。ディレクトリ:新規ファイルのグループを継承。chmod g+s dir または chmod 2xxx dir
スティッキービット (Sticky Bit)
数値表現:1xxx ディレクトリに設定すると、ファイルの所有者またはrootのみ削除可能(/tmpなど)。chmod +t dir または chmod 1xxx dir
よくあるエラーと対処法
ls -lで確認し、必要に応じてchmodまたはchown。sudo chownを使用。*この記事はArch Linux/btrfs/LUKs環境で実際に検証した内容を基にしています。セキュリティ設定は環境によって異なるため、本番環境への適用前に必ずテスト環境で検証してください。*
まとめ
Linuxのパーミッションはセキュリティの基本です。chmodとchownを適切に使い、必要最小限の権限を設定することでシステムを安全に保ちましょう。特にWebサーバーやSSH鍵の設定では、推奨されるパーミッションを守ることが重要です。