Überprüfen von Dateibesitzern und Berechtigungen

Post Reply
Message
Author
seddist

Überprüfen von Dateibesitzern und Berechtigungen

#1 Post by seddist »

Und noch einer.

Ich würde gerne herausfinden, wer Eigentümer und Gruppe eines Verzeichnisses/einer Datei sind und wie die Berechtigungen aussehen.
Für den Eigentümer habe ich den test Befehl, der aber nicht wie beschrieben klappt.

Code: Select all

# ls -al
-rw-r--r-- 1 root daten  0 Dec  5 23:27 datei
# test -G datei=daten; echo $?
1
# test -G datei=lalelu; echo $?
1
Es ist dabei egal, ob ich ersatzweise die numerische Gruppen ID angebe, ob ich Gänsefüsschen benutze oder zwei Gleichheitzeichen. Ich bekomme immer einen Fehler. Ob die Gruppe stimmt oder nicht.
Das Gleiche gilt für "test -O"

Berechtigungen kann ich mittels test laut man page gar nicht abfragen. Gibt es dazu vielleicht eine Alternative?
sowas wie:
if mode datei ="0770"; then do something; fi
oder
if mode datei o!=rwx"; then do something; fi

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#2 Post by jochen »

test(1) vergleicht immer die Gruppenzugehörigkeit der Datei mit der Gruppenzugehörigkeit des Prozesses, der das test-Kommando ausführt - sprich, er beantwortet die Fragestellung "Habe ich Gruppenrechte auf die Datei oder nicht?".

Ein Ansatz im Rahmen der Shellskriptprogrammierung wäre stat(1). Mittels

Code: Select all

stat -c "%a %G" datei
bekommst Du in zwei Feldern die Zugriffsrechte (%a, beispielsweise 644) und den Gruppenname heraus (%G, %g wäre die GID).

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Post Reply