[linux-l] rwx wird bei mir nix
Lutz Willek
lutz.willek at belug.de
Sa Mär 16 15:31:12 CET 2013
Am 16.03.2013 14:43, schrieb Boris Kirkorowicz:
> Hallo,
>
> Am 16.03.2013 14:17, schrieb Lutz Willek:
>> umask 0007
>
> das klingt verlockend einfach und scheint auch auf der Kommandozeile das
> gewünschte Ergebnis zu bringen (auch wenn ich noch nicht genau
> verstanden habe, wie das funktioniert).
Schau Dir mal folgendes an:
> root at vm:~# mkdir test
> root at vm:~# cd test/
> root at vm:~/test# umask
> 0022
> root at vm:~/test# touch testdatei
> root at vm:~/test# ls -l testdatei
> -rw-r--r-- 1 root root 0 Mär 16 14:53 testdatei
> root at vm:~/test# umask 0007
> root at vm:~/test# touch testdatei2
> root at vm:~/test# ls -l testdatei2
> -rw-rw---- 1 root root 0 Mär 16 14:54 testdatei2
> root at vm:~/test# cd ..
> root at vm:~# rm test/testdatei* ; rmdir test
Puh, wie erklärt man umask?
Also dir Unixrechte lesen, schreiben, ausführen, kurz rwx, lassen sich
auch in Zahlen darstellen: 4=r, 2=w, 1=x.
Zahlen lassen sich addieren. Möchtest Du bspw. die Rechte rwx haben, so
addierst Du 4+2+1=7. Damit ist dann eine wesentlich kürzere Darstellung
der Rechte möglich: Anstatt "rwx", einfach "7".
Rechte eines Objektes werden immer in Benutzerrechte, Gruppenrechte,
Rechte aller anderen angegeben.
Wenn Du einer Datei also Lese-und Schreibrechte für alle geben möchtest,
dann wäre das: rw-rw-rw-, oder kurz 660.
Wenn Du einer Datei alle Rechte für alle geben möchtest, dann wäre das:
rwxrwxrwx, oder kurz 777.
Die umask ist die "Standard"-Rechte-Einstellung, und die lässt sich
verändern. Dabei wird bei umask angegeben, wie viel von den
Maximalrechten abgezogen werden soll, nicht die Rechte selbst! Das fürt
dann zu folgender Rechtetabelle für umask:
0 read, write and execute
1 read and write
2 read and execute
3 read only
4 write and execute
5 write only
6 execute only
7 no permissions
Beipiel: Das Maximalrecht ist rwx, also 7. Bei einer umask von 1 wäre
das dann 7-1=6, also 4+2, also rw-.
Die umask gibst Du mindestens für user,group,others an, also wie in
meinem Beispiel 007. Dies ergibt dann folgendes:
> lutz at vm:~$ umask 007
> lutz at vm:~$ umask
> 0007
> lutz at vm:~$ umask -S
> u=rwx,g=rwx,o=
Und dann gibt es noch die "Spezialrechte", die der umask vorangestellt
werden. Aber dafür ist es wohl besser Du liest Dir einen beliebigen
Wikipediaeintrag zum Thema durch, sonst schreibe ich mir die Finger
wund... Suchworte sind hier suid und sgid sowie stickybit.
> Wo schreibe ich das am besten
> hin, damit es für alles gilt?
Also gesetzt den Fall Du willst das wirklich, dann findest Du den Ort,
indem Du Dir die Doku zum Thema durchliest, und anschließend die Doku,
wie das momentane Environment Deiner verwendeten Shell konfiguriert
wird. Ich möchte damit sicher gehen, dass Du verstanden hast, dass eine
systemweite umask von 0007 nicht die beste Idee ist, deshalb verrate ich
nicht die Stelle. Anhand der Doku wirst Du diese finden.
lg Lutz
Mehr Informationen über die Mailingliste linux-l