PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hauptgruppe von Inhalten eines Verzeichnis bei deren Erstellung auto. ändern



LarsThorwald
26.12.08, 17:46
Hi zusammen,


da ich durch die SuFu nichts gefunden habe (habe wohl die falschen Suchwörter eingegeben. Kann mir nicht vorstellen, dass danach nie gefragt wurde... :rolleyes:) und ich nicht weiter komme, will ich bei euch noch mal nachfragen.

Ich habe folgendes Problem:

Ich habe 4 Benutzer und 3 Gruppen.
Die Benutzer lauten Kind1,Kind2, Vater,Mutter
Die Gruppen lauten Kinder, Eltern, Familie

Nun werden 3 Verzeichnisse angelegt. Diese lauten:
Kinderverzeichnis,
Elternverzeichnis,
Familienverzeichnis

Wie man erahnen kann, sollen auf das Kinderverzeichnis nur die Kinder 1 & 2 zugreifen dürfen, auf das Elternverzeichnis nur die Eltern und auf das Familienverzeichnis alle.

Leider habe ich jetzt ein Problem beim dem Familienverzeichnis.
Alle erstellten Dateien und Ordner im Familienverzeichnis sollen automatisch die Hauptgruppe "Familie" bekommen und nicht die jeweilige Hauptgruppe des Erstellers. Ich vermute mal, das es mit der Mask zu lösen ist, weiß aber nicht wie.

Gruß
Lars

drcux
27.12.08, 14:15
http://de.wikipedia.org/wiki/Setgid

LarsThorwald
27.12.08, 21:00
http://de.wikipedia.org/wiki/Setgid

Danke, das hat mir weitergeholfen :)

Läßt es sich eigentlich auch einrichten, dass wenn ich z.B in dem Familieneverzeichnis eine Datei erstelle, diese gleich mit bestimmten Berechtigungen versehen wird? umask wirkt imho global aus. Kann ich umask auch auf einen Ordner beschränken, ohne das ich gleich auf ACLs zurück greifen muß?

Gruß
Lars

L00NIX
28.12.08, 09:53
Tja, ist aber so: Entweder eine umask von 0002 setzen oder ACLs benutzen.

Gruß
L00NIX

LarsThorwald
28.12.08, 10:31
Tja, ist aber so: Entweder eine umask von 0002 setzen oder ACLs benutzen.

Gruß
L00NIX

Moin,
dann wird die ACL zum Zuge kommen.

Gruß
Lars

drcux
28.12.08, 10:46
http://suse-linux-faq.koehntopp.de/q/q-filesystems-umask.html

LarsThorwald
28.12.08, 10:52
http://suse-linux-faq.koehntopp.de/q/q-filesystems-umask.html

Danke für den Link.

Diese Richtung bezüglich der default ACL schwebte mir vor.

Gruß
Lars

L00NIX
28.12.08, 11:35
Aber nicht alles auf dieser Seite ist richtig, z.B.:


Die Lösung dieses Problems ist das Setzen einer default ACL. Der folgende Befehlsaufruf legt z. B. fest, dass in /home/austausch/ alle Dateien mit allen Rechten (einschließlich Schreibrecht) für die Gruppe erzeugt werden:


setfacl -d -m mask:007 /home/austausch/



Das stimmt nicht. Die mask und umask sind zwei völlig unterschiedliche Dinge.

Die mask bei ACLs ist die maximal mögliche Berechtigung für die Benutzer und Gruppen.

Aus der Manpage von getfacl(1):

This entry limits the effective rights granted to all groups and to named users.

Daher kommen dann immer die "effective"-Right Anzeigen bei getfacl Auflistungen.

Ich würde die Manpage von [gs]etfacl als Informationsquelle bevorzugen, auch wenn sie nicht so schön aussieht. ;)

Gruß
L00NIX

LarsThorwald
28.12.08, 12:22
Aber nicht alles auf dieser Seite ist richtig, z.B.:


Das stimmt nicht. Die mask und umask sind zwei völlig unterschiedliche Dinge.

Die mask bei ACLs ist die maximal mögliche Berechtigung für die Benutzer und Gruppen.

Aus der Manpage von getfacl(1):


Daher kommen dann immer die "effective"-Right Anzeigen bei getfacl Auflistungen.

Ich würde die Manpage von [gs]etfacl als Informationsquelle bevorzugen, auch wenn sie nicht so schön aussieht. ;)

Gruß
L00NIX

Ok, mask erlaubt die eingegebene Berechtigung (also effektiv), sofern diese vergeben werden. Genau diese Berechtigung soll ja standardmäßig auf den Ordner und die zukünftig in diesem Ordner erstellten Dateien und Ordner automatisch vergeben werden. umask scheidet da aus, da diese global für alle Ordern wirkt, womit ich immer noch das gleiche Problem habe. Ich möchte nicht immer wieder händisch die Rechte erneut durchvererben.

Gruß
Lars

L00NIX
28.12.08, 15:34
Nein, mit der mask kann man quasi "auf einen Schlag" die Berechtigungen entziehen und hat nix mit Vererbung oder standardmäßigem Zulassen von Rechten zu tun.

Die mask wird beim Auflisten mit ls -l übrigens durch die Gruppenrechte abgebildet (d.h. selbst wenn hier rwx steht, muss die Gruppe nicht unbedingt Rechte auf die Datei/das Verzeichnis haben!).

Eine Rechtevererbung wie unter NTFS gibt es nicht.

Man kann bei Verzeichnissen eine Default ACL anlegen. Diese wird für alle neu angelegten (!) Dateien und Verzeichnisse kopiert.

Anm.: Das (!) deshalb, weil man aufpassen muss, wenn man Dateien verschiebt, die auf der gleichen Partition liegen, denn hier bleiben die Rechte (und ACLs) erhalten. Um auf Nummer sicher zu gehen beim verschieben von Dateien und Verzeichnissen also kopieren, dann die Quelle löschen oder verschieben und hinterher die ACL anpassen.

Zu deinem konkreten Problem (das -R steht für rekursiv!):


# alles root:root zuweisen (ACLs haben Vorrang)
$ chown -R root:root Kinderverzeichnis

# default ACL setzen (nur Verzeichnisse)
$ setfacl -R -d -m g:kinder:rwx Kinderverzeichnis

# Rechte setzen
$ setfacl -R -m g:kinder:rwx Kinderverzeichnis

# anzeigen
$ ls -ld Kinderverzeichnis
drwxrwxr-x 2 root root [...] Kinderverzeichnis
$ getfacl Kinderverzeichnis
# file: Kinderverzeichnis
# owner: root
# group: root
user::rwx
group::r-x (das ist die Berechtigung für die Gruppe "root")
group:kinder:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:kinder:rwx
default:mask::rwx
default:other::r-x

Konform dann für die Gruppen Eltern und Familie und den entsprechenden Verzeichnissen.

Gruß
L00NIX

LarsThorwald
02.01.09, 09:53
Nein, mit der mask kann man quasi "auf einen Schlag" die Berechtigungen entziehen und hat nix mit Vererbung oder standardmäßigem Zulassen von Rechten zu tun.

Die mask wird beim Auflisten mit ls -l übrigens durch die Gruppenrechte abgebildet (d.h. selbst wenn hier rwx steht, muss die Gruppe nicht unbedingt Rechte auf die Datei/das Verzeichnis haben!).

Eine Rechtevererbung wie unter NTFS gibt es nicht.

Man kann bei Verzeichnissen eine Default ACL anlegen. Diese wird für alle neu angelegten (!) Dateien und Verzeichnisse kopiert.

Anm.: Das (!) deshalb, weil man aufpassen muss, wenn man Dateien verschiebt, die auf der gleichen Partition liegen, denn hier bleiben die Rechte (und ACLs) erhalten. Um auf Nummer sicher zu gehen beim verschieben von Dateien und Verzeichnissen also kopieren, dann die Quelle löschen oder verschieben und hinterher die ACL anpassen.

Zu deinem konkreten Problem (das -R steht für rekursiv!):


# alles root:root zuweisen (ACLs haben Vorrang)
$ chown -R root:root Kinderverzeichnis

# default ACL setzen (nur Verzeichnisse)
$ setfacl -R -d -m g:kinder:rwx Kinderverzeichnis

# Rechte setzen
$ setfacl -R -m g:kinder:rwx Kinderverzeichnis

# anzeigen
$ ls -ld Kinderverzeichnis
drwxrwxr-x 2 root root [...] Kinderverzeichnis
$ getfacl Kinderverzeichnis
# file: Kinderverzeichnis
# owner: root
# group: root
user::rwx
group::r-x (das ist die Berechtigung für die Gruppe "root")
group:kinder:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:kinder:rwx
default:mask::rwx
default:other::r-x

Konform dann für die Gruppen Eltern und Familie und den entsprechenden Verzeichnissen.

Gruß
L00NIX

Danke für deine ausführliche Hilfe :)
Gruß
Lars