Wo werden die Standardwerte 666 und 777 für Dateien bzw. Verzeichnisse gespeichert?
umask 0002
touch dummy
ls -l
Sagt mir, dass die Berechtigungen des Dummys 700 statt der erwarteten 644 betragen. Irgendwelche Ideen?
Antwort1
[max@localhost ~]$ umask
Dadurch wird die Standard-Umask angezeigt.
0002
In /etc/bashrc
der Datei sind Standardberechtigungen gespeichert
16 wenn [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; dann 17 umask 002 18 sonst 19 umask 022 20 fi
Die Standard-Umask für den normalen Benutzer 002
Die Standard-Umask für den Root-Benutzer ist 022
Für Verzeichnisse beträgt die Basisberechtigung 0777 und für Dateien 0666
Das heißt, wenn Sie den Umask-Wert auf 002 setzen, subtrahieren Sie den Umask von den Basisberechtigungen
Für Verzeichnisse
777-002=775
Für Dateien
666-002=664
[max@localhost ~]$ mkdir Datei1
[max@localhost ~]$ ls -ld Datei1
drwxrwxr-x 2 max max 4096 25. September 15:37 Datei1 ------>775
[max@localhost ~]$ touch file2
[max@localhost ~]$ ls -l Datei2
-rw-rw-r-- 1 max max 0 25. Sept. 15:40 Datei2----------->664