Durante la creazione di directory, mkdir -m <mode> <dir>
consente di creare una o più directory con la modalità / i permessi impostati (in modo atomico).
Esiste un equivalente per la creazione di file sulla riga di comando?
Qualcosa di simile a:
open("file", O_WRONLY | O_APPEND | O_CREAT, 0777);
L'utilizzo è touch
seguito da una chmod
mia unica opzione qui?
Modifica: dopo aver provato il suggerimento di teppic da usare install
, l'ho passato strace
per vedere quanto fosse vicino all'atomico. La risposta è non molto:
$ strace install -m 777 /dev/null newfile
...
open("newfile", O_WRONLY|O_CREAT|O_EXCL, 0666) = 4
fstat(4, {st_mode=S_IFREG|0666, st_size=0, ...}) = 0
...
fchmod(4, 0600) = 0
close(4) = 0
...
chmod("newfile", 0777) = 0
...
Tuttavia, è un singolo comando shell e uno che non conoscevo prima.
install