Sembra che ogni volta che creo un file con touch
i permessi sia impostato su: -rw-r - r-- .
C'è un modo in cui posso configurare le autorizzazioni con touch
o deve essere fatto dopo con un comando diverso?
Sembra che ogni volta che creo un file con touch
i permessi sia impostato su: -rw-r - r-- .
C'è un modo in cui posso configurare le autorizzazioni con touch
o deve essere fatto dopo con un comando diverso?
Risposte:
È possibile modificare il proprio umask
per consentire (per la maggior parte delle implementazioni) più privilegi di lettura / scrittura, ma non eseguibili, poiché in genere le autorizzazioni richieste sono 0666
.
Se lo umask
è 022
, vedrai touch
creare un 0644
file.
È interessante notare che POSIX descrive questo comportamento in termini di creat
:
Se il file non esiste:
La funzione creat () viene chiamata con i seguenti argomenti:
L'operando del file viene utilizzato come argomento path.
Il valore del bit-inclusive OR di
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, eS_IWOTH
viene usata come argomento modalità.
ed è solo seguendo i collegamenti a creat
, quindi open
, notando la menzione umask
e il back-tracking di open
(e creat
) per verificare che umask
si suppone influisca touch
.
Per umask
influire solo sul touch
comando, utilizzare una subshell:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(nota che in ogni caso, se il file esisteva in precedenza, touch
non cambierà le sue autorizzazioni, basta aggiornare i suoi timestamp).
Puoi manipolare il umask
. Generalmente è impostato su 022
ciò significa che quando un utente crea un file, otterrà il permesso di 0644
, è possibile manipolare in umask
base alle proprie esigenze.