[linux-l] rwx wird bei mir nix
Peter Ross
Peter.Ross at bogen.in-berlin.de
Fr Mär 22 00:14:17 CET 2013
On Thu, 21 Mar 2013, Boris Kirkorowicz wrote:
> Hallo,
>
> Am 20.03.2013 23:54, schrieb Peter Ross:
>> Wie gesagt, setze die umask - und es ist gut.
>> Das kannst Du auch in den .-filees des Nutzers tun.
>> Wenn Du's nicht machst, geht es natürlich nicht.
>> Die umask für ein Filesystem zu setzen, ist Unsinn. Das ist Holzhammer und
>> macht auch mehr kaputt als das es hilft.
>
> die umask global zu setzen ist noch viel mehr Holzhammerer als nur für
> einen mount.
Das ist falsch, Du kannst es auf Nutzerbasis machen ($HOME/.bashrc z.B.)
Es ist wie gesagt eine Voreinstellung bei Ubuntu, und durch ordentliche
Defaultgruppen auch absolut unkritisch.
Utilities wie adduser erstellen neue Nutzer mit diesen Defaultgruppen, und
nur der Admin kann das ändern. Wenn Du da nichts machst (und warum
solltest Du?) ist das alles sauber.
[Natürlich ist es jedem Admin überlassen, sich selbst in den Fuß zu
schießen]
Wenn für die Gruppe Schreibrechte gesetzt werden, und ich der einzige bin,
der dieser Gruppe angehört, ist da in keiner Weise die Sicherheit
gefährdet.
Das Sticky-Bit ändert die Gruppe, dem die Datei gehört, nur für diesen
Verzeichnisbaum, und es erlaubt Schreiben für die Gruppenmitglieder.
Das ist genau so definiert, wie Du es möchtest, für die richtige Location.
nicht für ein ganzes Filesystem.
Vergiß, das umask 0002 für "echte" Nutzer (nicht Systemnutzer) schlecht
ist - das ist purer Unsinn.
Bei Unix haben sich ein paar Leute Gedanken gemacht, seit 1970. Wenn
Gruppenschreibrechte und setgid-Flags, und die Möglichkeit, die zu setzen,
so böse wären, gäbe es sie nicht.
>> Es ist ein Workaround für Systeme, die keine Rechte kennen, wie z.B. ein
>> FAT auf dem USB-Stick, der rechtemäßig normalerweise dem Besitzer der
>> Konsole (dem vor dem Rechner) gehört.
>
> Es geht um ext4.
Das ist richtig. Du hattest mal bemängelt, daß ext4 dieses
setgid/umask-Optionen nicht hatte. Weil es eben ordentliche Rechte kennt,
und Du Rechte freingranuliert für Dateien, Verzeichnisse oder
Verzeichnisbäume setzen kannst.
> Aber lass gut sein, ich habe mich bereits damit abgefunden, dass die
> Dateirechte halbautomatisiert nachträglich gesetzt werden müssen.
Das ist wirklich kaputt. Viel Spaß mit find oder so und I/O-Belastung und
race conditions.
Was ein System kann, und wenn man es ordentlich anwendet, muß man nicht
nachbessern.
Ich habe so ein Netzwerk mal ererbt. Das Ausmisten hat richtig Spaß
gemacht :-o
Mal abgesehen, daß Du damit wirklich die Sicherheitseinstellungen der
Nutzer überschreibst.
Wenn ich jetzt in Deinen Laden komme und was mit Dir teilen soll, mag ich
vielleicht eine Datei darein stellen, denke mir, daß ist aber noch nicht
so, daß jemand anders das sehen sollte.
Dann setze ich es auf 600. Nur ich kann es lesen. Und zehn Minuten später
gibt Dein Cron das frei und macht es 664.
Das nenne ich Sicherheitslücke.
Das Setzen von Dateirechten ist mit Absicht dem Nutzer überlassen, denn
nur der kann wirklich wissen, wer denn das lesen oder schreiben soll.
umask und Defaultgruppe sind die Hilfsmittel, die dem Nutzer das Denken
oft "abnimmt", denn viele wollen sich damit gar nicht auseinandersetzen.
Aber es sollte nicht dazu führen, dem Nutzer ins Handwerk zu pfuschen.
Ein System, das nachträglich Dateirechte ändert, kann nicht als
vertrauenswürdig bezeichnet werden.
Eine Nebenbemerkung noch zu Verzeichnisrechten, r und x.
# ls -lisa test3
total 44
18481456 4 drwxr-xr-x 2 root root 4096 Mar 22 09:58 .
18350088 28 drwx------ 64 petros petros 24576 Mar 22 09:58 ..
18481493 12 -rw-rw-r-- 1 petros petros 19 Mar 22 09:58 testdatei
# sudo chmod 711 test3
# ls -lisa test3
ls: cannot open directory test3: Permission denied
# sudo ls -lisa test3
total 44
18481456 4 drwx--x--x 2 root root 4096 Mar 22 09:58 .
18350088 28 drwx------ 64 petros petros 24576 Mar 22 09:58 ..
18481493 12 -rw-rw-r-- 1 petros petros 19 Mar 22 09:58 testdatei
Ich (ohne sudo) kann also ohne r-Bit nicht das Verzeichnis lesen.
Aber:
# cat test3/testdatei
Das ist ein Test.
# cd test3
# pwd
/home/petros/test3
Ich kann also reinwechseln und eine Datei darinnen lesen.
Auf die Art und Weise kann man das Durchsuchen von Verzeichnisbäumen
unmöglich machen, aber trotzdem kann ich eventuell eine bestimmte Datei
jemand anders zugänglich machen, wenn ich ihm die Existenz mitteile (denn
finden kann er sie nicht).
Viel Spaß noch
Peter
Mehr Informationen über die Mailingliste linux-l