Supponiamo che la maschera predefinita sia 0666. umask
0022 renderebbe la nuova maschera 0644 (0666-0022 = 0644), il che significa che il gruppo e altri hanno autorizzazioni di lettura (nessuna scrittura o esecuzione).
La cifra "extra" (il primo numero = 0) specifica che non esistono modalità speciali.
Se la modalità inizia con una cifra, verrà interpretata come ottale, altrimenti verrà considerata simbolica.
0 è una cifra, così come 1 (per il bit appiccicoso) o 6 (per SGID). Un comando come chmod
può essere chiamato con altri metodi, ad esempio chmod ug+rw mydir
dove aggiungere le autorizzazioni di lettura e scrittura all'utente e al gruppo. Si noti che la modalità in questo caso (ug + rw) non inizia con una cifra, quindi non viene interpretata come ottale ma piuttosto simbolica.
Vedi en.wikipedia.org/wiki/Chmod#Symbolic_examples per simbolismi e www.lifeaftercoffee.com/2007/03/20/special-permission-modes-in-linux-and-unix/ per un po 'su modalità speciali.
Non so che con il primo smascheresti umask
, ma tecnicamente potresti. Spiegherebbe perché lo vedi quasi sempre come uno zero.
Ringraziamo pinkfloydx33
La prima cifra della maschera si occupa di autorizzazioni speciali che non si adattano così chiaramente al modello proprietario / gruppo / altro. Quando vengono fornite quattro cifre per un'autorizzazione del file, la prima si riferisce a quei valori speciali:
4000 = SUID
2000 = SGID
1000 = sticky bit
Il bit SUID, abbreviazione di set-user-ID, fa eseguire un programma eseguibile con l'ID utente effettivo (uid) del proprietario - in altre parole, indipendentemente da chi lo esegue, il programma viene eseguito con i diritti del proprietario. Questo è comunemente visto nei programmi che fanno cose che richiedono i privilegi di root, ma che devono essere eseguiti da utenti normali: ne passwd
è un esempio.
Il bit SGID, abbreviazione di set-group-ID, è molto simile, ma viene eseguito con l' ID gruppo effettivo (gid) del proprietario.
La parte adesiva è un po 'più complicata, se vuoi maggiori informazioni a riguardo, puoi leggere la manpage per sticky
.
Questi bit possono anche essere usati con le directory, ma il loro significato cambia.
Non credo che tu possa effettivamente impostare il umask
per consentire di abilitare uno di questi bit extra per impostazione predefinita, ma probabilmente non vorrai mai farlo comunque.
Ringraziamo l' utente470379
man 2 umask
(la corrispondente chiamata di sistema) "mask
vengono utilizzati solo i bit di autorizzazione del file ". Inbash
, umask 1000 genera un errore: "numero ottale fuori intervallo". Quindi perché lo 0 in più? Penso che sia solo per dimostrare che il numero è in ottale.