2010-05-06 1 views
5

mi sto leggendo qualche codice sorgente e ho trovato questa dichiarazione proprio all'inizio della routine principale:Perché dovresti usare umask?

umask(077); 

quello che potrebbe essere la ragione di ciò?

La pagina man (man 2 umask) afferma:

umask - maschera la modalità di creazione dei file impostata

Questa compensazione permette a ciascun utente di limitare l'accesso predefinito ai suoi file

Ma non mi è chiaro perché qualcuno dovrebbe farlo? come una scorciatoia?

+0

Conoscete attributi di file UNIX, voglio dire sai cosa significa prima colonna al comando "ls -l"? -rwx ------ + – Dewfy

+0

@Dewfy yes I do – fabrizioM

risposta

10

Impostazione umask(077) assicura che i file creati dal programma solo saranno accessibili al loro proprietario (0 in prima posizione = tutte le autorizzazioni potenzialmente disponibili) e nessun altro (7 in seconda terza posizione/= tutte le autorizzazioni non consentito a gruppo/altro).

+1

Ci si aspetterebbe di vedere questa impostazione in un programma che sta generando file altamente sensibili che dovrebbero * non * essere accessibili a nessun altro utente, in qualsiasi situazione ('ssh -keygen' è un buon esempio). I programmi normali dovrebbero rispettare l'esistente 'umask()' impostato dall'utente. – caf