Come impostare le autorizzazioni per i file con il comando touch


16

Sembra che ogni volta che creo un file con touchi permessi sia impostato su: -rw-r - r-- .

C'è un modo in cui posso configurare le autorizzazioni con toucho deve essere fatto dopo con un comando diverso?

Risposte:


27

È possibile modificare il proprio umaskper 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 touchcreare un 0644file.

È interessante notare che POSIX descrive questo comportamento in termini di creat:

  1. 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, e S_IWOTHviene usata come argomento modalità.

ed è solo seguendo i collegamenti a creat, quindi open, notando la menzione umaske il back-tracking di open(e creat) per verificare che umasksi suppone influisca touch.

Per umaskinfluire solo sul touchcomando, 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, touchnon cambierà le sue autorizzazioni, basta aggiornare i suoi timestamp).


2

Puoi manipolare il umask. Generalmente è impostato su 022ciò significa che quando un utente crea un file, otterrà il permesso di 0644, è possibile manipolare in umaskbase alle proprie esigenze.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.