indietro

  • umask ESPR
  • umask

    Imposta l'umask per il processo a ESPR e restituisce il precedente valore. Se ESPR viene omessa, restituisce solamente l'umask corrente.

    Il permesso Unix rwxr-x--- viene rappresentato come tre insiemi di tre bit oppure con tre cifre ottali: 0750 (il primo 0 indica l'ottale e non è una delle cifre). Il valore di umask è quel numero che rappresenta i bit dei permessi disabilitati. I valori dei permessi (o "modalità") che passate a mkdir o sysopen sono modificati dall'umask dunque anche se dite a sysopen di creare un file con permessi 0777, se l'umask è 0022 allora il file verrà in effetti creato con permessi 0755. Se l'umask fosse 0027 (il gruppo non può scrivere, i restanti non possono leggere, scrivere od eseguire) allora passare 0666 a sysopen creerebbe un file con modalità 0640 (0666 &~027 è 0640).

    Ecco alcuni consigli: fornite una modalità di creazione di 0666 per file ordinari (in sysopen) ed una di 0777 per le directory (in mkdir) e i file eseguibili. Questo dà agli utenti la libertà di scelta: se vogliono file protetti sceglieranno umask di 022, 027 o anche la particolare ed antisociale mask di 077. I programmi, se non in rari casi, non dovrebbero prendere decisioni sulla policy che sarebbe meglio fosse lasciata all'utente. L'eccezione a questo fatto si ha nello scrivere file che devono essere mantenuti privati: file di mail, cookie del browser web, file .rhosts e così via.

    Se umask(2) non è implementata sul vostro sistema e si sta cercando di restringere l'accesso a se stessi (cioè, (ESPR & 0700) > 0), produce un errore bloccante a tempo di esecuzione. Se umask(2) non è implementata e non si sta cercando di restringere l'accesso a se stessi, restituisce undef.

    Ricordatevi che un umask è un numero, generalmente fornito in ottale; non è una stringa di cifre ottali. Si veda anche oct se tutto ciò che si ha è una stringa.