Der Prozess im Besitz von root kann keine Dateien schreiben

Der Prozess im Besitz von root kann keine Dateien schreiben

Ich führe ein Programm (syslog-ng) aus, das mehrere Dateien in einem bestimmten Pfad lesen und schreiben muss. Es schlug beim Start fehl und behauptete, dass es eine Datei in diesem Pfad nicht öffnen könne.

Bitte gehen Sie von dieser Verzeichnisstruktur aus:

/var/platform/program

Für das platformVerzeichnis ist die Berechtigung auf 0655 eingestellt (keine Ausführungsberechtigung für den Eigentümerbenutzer). Wenn ich diese Berechtigung auf 0755 ändere, funktioniert syslog-ng einwandfrei.

Andererseits habe ich ein kleines Programm in C geschrieben, das versucht, eine Datei im selben Verzeichnis zu öffnen und darin zu schreiben. Wenn es als Root ausgeführt wird, funktioniert es problemlos, aber syslog-ng schlägt fehl ...

Was kann in diesem Fall das Problem sein?

Antwort1

syslog möchte vermutlich in chdirdas Verzeichnis und benötigt daher das gesetzte Execute-Bit auf dem Verzeichnis.

SehenAusführen- vs. Lesen-Bit. Wie funktionieren Verzeichnisberechtigungen in Linux?für mehr Informationen.

verwandte Informationen