EC2 で CentOS VM を実行しています。ec2-user として ssh し、デプロイしようとしているアプリケーションのログ フォルダーを作成したいと考えています。
sudo mkdir /var/log/search-api
sudo chown ec2-user /var/log/search-api
今、私はls
フォルダー上で実行しており、次の結果を得ていますPermissions denied
:
[ec2-user@box_name ~]$ ls /var/log/search-api
ls: cannot access /var/log/search-api: Permission denied
そのフォルダにファイルを書き込もうとすると、同じことが起こります。
[ec2-user@box_name ~]$ echo 'test' > /var/log/search-api/aaa.log
-bash: /var/log/search-api/aaa.log: Permission denied
自分が所有するフォルダーを一覧表示したり、そこに書き込んだりする権限がないのはなぜですか?
答え1
ACL がないと仮定すると、特定のファイル (所有しているかどうかに関係なく) にアクセスするには、すべてのディレクトリに対する「実行」権限 (ルートから) が必要です。
答え2
CentOS では、SELinux ラベルにも注意する必要があります。ラベルは単なる任意のものではなく、非標準のユーザーを使用して非標準の場所に非標準のものを書き込むと、失敗する可能性があります。
SELinux ラベルが何を使用しているかを明確にしてくださいls -Z
。また、AVC に関連する監査ログには何が含まれていますか。