Linux: Permission denied (chmod/chown)
ファイルやディレクトリの権限変更が拒否された場合のエラー
概要
ファイルやディレクトリへのアクセス、または権限の変更操作が拒否された場合に発生するエラーです。所有者の不一致、SELinuxやAppArmorによる制限、特殊なマウントオプションなどが原因となります。
エラーメッセージ
chmod: changing permissions of '/var/www/html/index.html': Operation not permitted
chown: changing ownership of '/opt/app': Operation not permitted
bash: /opt/app/start.sh: Permission denied
原因
- 所有者でもrootでもない: 一般ユーザーが他者のファイルを変更しようとしている
- SELinux/AppArmorによる制限: MACポリシーがファイル操作を拒否している
- 読み取り専用マウント: ファイルシステムがread-onlyでマウントされている
- immutableフラグ:
chattr +iで変更不可に設定されている - NFSやDockerボリュームの制限: リモート/マウントされたファイルシステムの権限制約
解決策
1. 基本的な権限の確認と修正
| |
2. ACL(アクセス制御リスト)の活用
| |
3. SELinuxの確認と対処
| |
4. immutableフラグの確認と解除
| |
5. マウントオプションの確認
| |
関連エラー
Linux の他のエラー
この記事は役に立ちましたか?