[linux-l] rwx wird bei mir nix

Peter Ross Peter.Ross at bogen.in-berlin.de
Di Mär 19 23:30:36 CET 2013


Hallo Boris,

On Tue, 19 Mar 2013, Boris Kirkorowicz wrote:

> ich mag noch nicht so recht glauben, dass diese uralte Standardaufgabe
> nicht mit den uralten Standards erledigt werden kann. Der Bedarf daran
> ist doch bestimmt älter als ich, und damit viel älter als ACL...

Doch, es gibt eine, wenn ich Deine Aufgabe richtig verstehe:

Du möchtest, daß für einen Verzeichnisbaum eine Gruppe von Leuten Lese- 
und Schreibzugriff haben. Richtig?

Voraussetzungen, die bei meinem Ubuntu-Desktop z.B. gegeben sind:

Die umask ist 002, welches neue Dateien/Verzeichnisse mit 
775(rwxrwxr-x) anlegt:

(Oktalrechnung: 777(rwxrwxrwx)-002(-------w-)=775(rwxrwxr-x)

Dateien bekommen als Standard aber auch kein x - sind nicht ausführbar.

Die Standardgruppe der Nutzer hat den gleichen Namen (z.B. moritz hat 
als Standardgruppe moritz), dem nur diese Gruppe angehört.

Das sind die Voraussetzungen. Mit umask 22 klapt das nicht, da dann 
Verzeichnisse/Dateien nicht gruppenschreibbar sind, und wenn die 
Standardgruppe mit anderen geteilt werden würde, würden alle Dateien des 
Nutzers geteilt werden, was wohl keiner will.

Jetzt kreierst Du (alles folgende als root) eine Gruppe, der die Nutzer 
angehören, die den Verzeichnisbaum teilen sollen:

addgroup boesebuben
adduser max boesebuben
adduser moritz boesebuben

Jetzt legst Du das Verzeichnis an, welches die beiden teilen sollen:

mkdir /woauchimmer/boesebuben

Dann gibst Du dem Verzeichnis der Gruppe boesebuben:

chgrp boesebuben /woauchimmer/boesebuben

Jetst setzt Du das setguid-Bit:

chmod 2770 /woauchimmer/boesebuben

Wie sieht es aus?

# ls -lisa /woauchimmer/boesebuben
total 32
18481416  4 drwxrws---  2 root boesebuben  4096 Mar 20 08:59 .
18350088 28 drwxr-xr-x 63 root root        24576 Mar 20 08:57 ..

Okay, nun mache ein "su - max", um das alles als Nutzer max zu testen.

# touch /woauchimmer/boesebuben/max_file
# mkdir /woauchimmer/boesebuben/max_dir

# ls -lisa /woauchimmer/boesebuben
total 44
18481416  4 drwxrws---  2 root boesebuben  4096 Mar 20 08:59 .
18350088 28 drwxr-xr-x 63 root root       24576 Mar 20 08:57 ..
18481439  4 drwxrwsr-x  2 max  boesebuben  4096 Mar 20 09:04 max_dir
18481430  8 -rw-rw-r--  1 max  boesebuben     0 Mar 20 09:03 max_file

Wie Du siehst, ist max_file mit der Gruppe boesebuben angelegt worden, und 
so auch von moritz schreibbar, und das neue Verzeichnis hat außerdem auch 
das setguid-Bit vererbt bekommen, so daß die selben Mechanismen auch dort 
greifen.

War's das?

Die Abneigung gegen ACLs teile ich, aber das ist eine andere und längere 
Geschichte.

Es gibt aber durchaus Dinge, die lassen sich mit user-group-others nicht 
oder nur schwer erschlagen, sonst wären sie nicht erfunden worden.

Wobei, Microsoft hat noch nie viel von einfachen Lösungen gehalten, die 
hätten das Rad sowieso neu erfunden;-)

Es grüßt
Peter


Mehr Informationen über die Mailingliste linux-l