Ich erhalte 700, wenn ich eine Testdatei erstelle, aber Umask ist 0002? Warum ist es nicht 664?

Ich erhalte 700, wenn ich eine Testdatei erstelle, aber Umask ist 0002? Warum ist es nicht 664?

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/bashrcder 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

verwandte Informationen