Wie überprüfe ich die effektiven Dateiberechtigungen (einschließlich ACLs)/Zugänglichkeit für/von einer bestimmten Datei und einem bestimmten Benutzer (einschließlich Dienst-/Systemkonten), ohne den gesamten Pfad manuell zu überprüfen?
Beispiel: Angenommen, ein Benutzer joe und die Datei /long/path/to/file.txt. Selbst wenn file.txt auf 777 geändert wurde, muss Joe immer noch in der Lage sein, auf /long/ und dann auf /long/path/ und dann auf /long/path/to/ zuzugreifen. Wenn Joe nicht mindestens Lesezugriff auf alle Ordner im Pfad hat, kann er nicht auf die Datei zugreifen (lesen/schreiben/ausführen). Die effektiven Berechtigungen für ihn (als "world/all"-Benutzer) sind also 0 und er kann nicht auf die Datei zugreifen.
Alternativ: Wie erhalte ich eine Liste der Berechtigungen (einschließlich ACLs) aller Benutzer (einschließlich Dienst-/Systemkonten) für eine bestimmte Datei?
Gerne auch eine App oder ein Bash-Skript.
Eine ähnliche Frage mit etwas anderem Fokus wurde bereits bei Unix & Linux gestellt: Wie kann überprüft werden, ob ein Benutzer auf eine bestimmte Datei zugreifen kann?
Eine kommerzielle App, die die effektiven Berechtigungen für einen Benutzer und eine ausgewählte Datei oder einen ausgewählten Ordner bereitstellt, ist TinkerTool System :
Im folgenden Beispiel werden die effektiven Berechtigungen der Datei /private/var/log/clamav.log für den Benutzer Spotlight gezeigt. Der Benutzer Spotlight kann Daten weder lesen noch schreiben.
Beim Auslösen des Tabs Show or Set Permissions werden die POSIX-Berechtigungen/Eigentümer explizit angezeigt.
kein Hang
ls -del FILE|DIR
listet sowohl Unix-Standardberechtigungen als auch ACLs auf. was genau suchst du?klanomath
ls
Befehl zeigt die Dateiberechtigungen für die angegebene Datei. Aber wie in der verlinkten Unix&Linux-Frage beschrieben, können die Berechtigungen im übergeordneten Pfad unterschiedlich gesetzt werden, so dass eine Datei, die weltweit lesbar ist, nicht von einem beliebigen Benutzer gelesen werden kann. Ergebnis: Die Dateiberechtigungen sind (77)7, aber die effektiven Dateiberechtigungen sind (77)0 (für einen beliebigen Benutzer außer dem Eigentümer und nicht in derselben Gruppe).kein Hang
ls -del
) und der Zugriffsberechtigung (was anscheinend das ist, wonach Sie suchen) zu unterscheiden.kein Hang