‚uchg‘ Flag und ‚operation not permitted‘

Die Standard-Dateirechte unter UNIX/Linux (und somit auch MAC OS X) werden bekanntlich mit chmod und chown manipuliert. Diese Tools ermöglichen dennoch nicht zwingend den uneingeschränkten Zugriff (für den administrativen Benutzer) auf Dateien wenn diese mit ACLs (Access Control List) versehen wurden, oder zusätzliche Flags uchg oder schg gesetzt haben.

Dateiberechtigungen

Wie erwähnt werden diese mit den Tools chown und chmod bearbeitet und manipulieren dabei die Möglichkeit eine Datei zu lesen, zu manipulieren und/oder auszuführen. [1]

Der Umgang mit diesen Tools ist wohl jedem Administrator bekannt, genauso wie die Manipulation. Und auch wenn man in der Regel damit eine Datei als Benutzer im Griff hat, kann es vorkommen, dass die Datei widerspenstig ist und sich dennoch nicht „anfassen“ lassen will. Dies hat natürlich nur vordergründig mit Widerspenstigkeit zu tun, als vielmehr mit Flags, oder ACLs.

Dateiflags: uchg Flag

Um die für diesen Artikel relevante Beflaggung der betroffenen Datei einzusehen hilft folgender Befehl:

ls -lO@e Dateiname

Die Ausgabe zeigt dabei ob eine Datei mit einem Lock belegt ist, dem immutable bit [2]. Dieses Flag (Bit) verhindert das Ändern einer Datei und muss vorher entsprechend gelöscht werden. Die Ausgabe obigen Befehls kann zum Beispiel wie folgt aussehen:

-rwxrwxrwx@ 1 admin staff uchg 4516842 Nov 23 2009 Dateiname

Modifiziert, bzw. entfernt wird das Flag wie folgt, unter Zuhilfenahme des Tools chflags

chflags nouchg Dateiname

Dem folgt als Resultat wiederholter Abfrage der Flags, die Ausgabe:

-rwxrwxrwx@ 1 admin staff - 4516842 Nov 23 2009 Dateiname

Im Gegensatz zu schg führt der Löschaufruf mit vorangestellten sudo, und damit der Übernahme von ‚root‘-Rechten zur Löschung der Datei. sudo löscht vor der Ausführung der Manipulation das Bit: uchg. Die Datei kann damit gelöscht werden.

Angesprochenes schg Flag hingegen bewirkt, dass Dateien weder vom System noch root manipuliert oder gelöscht werden können und entsprechend auch das Flag nicht entzogen werden kann. Dies kann zu Problemen führen weshalb dieses Flag dringend vermieden werden sollte. Um die Sperrung durch schg aufzuheben muss das System im Single-User Modus gebootet werden. Erst dann kann das Flag entfernt werden.

 

[1] Apple Server Dokumentation: File permissions
[2] ‚chflag‚ Manpage


Beitrag veröffentlicht

in

, ,

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar