Ich betreibe eine CentOS-VM in EC2. Ich melde mich per SSH als EC2-Benutzer an und möchte einen Protokollordner für meine Anwendung erstellen, die ich bereitstellen möchte:
sudo mkdir /var/log/search-api
sudo chown ec2-user /var/log/search-api
Jetzt führe ich ls
den Ordner aus und erhalte Permissions denied
:
[ec2-user@box_name ~]$ ls /var/log/search-api
ls: cannot access /var/log/search-api: Permission denied
Dasselbe passiert, wenn ich versuche, eine Datei in diesen Ordner zu schreiben:
[ec2-user@box_name ~]$ echo 'test' > /var/log/search-api/aaa.log
-bash: /var/log/search-api/aaa.log: Permission denied
Warum habe ich keine Berechtigung, einen Ordner aufzulisten, dessen Eigentümer ich bin, oder darin zu schreiben?
Antwort1
Vorausgesetzt, es sind keine ACLs vorhanden, benötigen Sie die Ausführungsberechtigung für alle Verzeichnisse (vom Stammverzeichnis aus), um auf eine bestimmte Datei zuzugreifen (unabhängig davon, ob Sie der Eigentümer sind oder nicht).
Antwort2
In CentOS müssen Sie auch auf SELinux-Labels achten. Sie sind nicht einfach beliebig, aber wenn Sie sich dazu entschließen, nicht standardmäßige Dinge an nicht standardmäßigen Orten mit nicht standardmäßigen Benutzern zu schreiben, kann das zu Problemen führen.
Bitte klären Sie, welche SELinux-Labels verwendet werden ls -Z
. Und was in Ihrem Prüfprotokoll in Bezug auf AVCs steht.