Linuxの権限管理入門|chmod・chown・ACLとsudo設定の実践

現場実践|Linuxユーザー・権限管理
Linuxの権限管理入門|chmod・chown・ACLとsudo設定の実践
「chmod 755って何の意味?」「rootにしなくてもいい操作はrootにしたくない」——Linuxのファイル権限(chmod・chown)・ACL・sudoの設定方法を現場での実践知識とともに解説します。
💡 Linux権限管理はセキュリティの基本中の基本。「chmod 777」は使ってはいけないコマンドの代表格です。最小権限でサービスを動かす設計が安全なLinuxサーバー運用の鍵です。
1. ファイル権限の基本
# ファイルの権限を確認
ls -la /var/www/html/
# -rw-r--r-- 1 nginx nginx 1234 Apr 1 10:00 index.html
# 上記の意味:
# rw- = オーナー(nginx): 読み取り・書き込み可
# r-- = グループ(nginx): 読み取りのみ
# r-- = その他: 読み取りのみ
# 数値表記
# r=4, w=2, x=1
# 644 = rw-r--r-- (オーナー:6, グループ:4, その他:4)
# 755 = rwxr-xr-x (ディレクトリの標準)
# 600 = rw------- (SSHキー等の秘密情報)
# 777 = rwxrwxrwx (絶対に使ってはいけない)2. chmod・chownの基本操作
# 権限を変更(644に設定)
chmod 644 /var/www/html/index.html
# 再帰的に変更(ディレクトリ以下全て)
chmod -R 755 /var/www/html/
# オーナーとグループを変更
chown nginx:nginx /var/www/html/index.html
# SSHキーの権限設定(重要)
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub3. sudoの設定(/etc/sudoers)
- visudoで編集:/etc/sudoersは必ずvisudoコマンドで編集する。直接viで編集すると構文エラーでsudoが使えなくなるリスクがある
- 特定コマンドのみ許可:「ec2-user ALL=(ALL) /usr/bin/systemctl restart nginx」のように特定コマンドのみをsudo許可することで最小権限を実現
- NOPASSWDの濫用に注意:NOPASSWD設定は自動化スクリプトで必要な場合のみ使用し、インタラクティブなログインユーザーへの設定は推奨しない
4. サービスアカウントの設計
Webサーバー(nginx)・データベース(mysql)等のサービスは専用のシステムユーザーで動かすことがセキュリティの基本です。「nginxプロセスはnginxユーザーとして動作し、/var/www/htmlのみ読み取り権限を持つ」という最小権限設計が、万が一プロセスが乗っ取られても被害を最小化します。
📌 この記事のポイント
- 644(ファイル標準)・755(ディレクトリ標準)・600(秘密鍵)がLinux権限管理の3つの基準値
- chmod 777は使ってはいけない。770・755・644・600のどれかを用途に応じて選ぶ
- sudoはvisudoで編集し特定コマンドのみ許可する最小権限設計がセキュリティの基本
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




