Al crear directorios, mkdir -m <mode> <dir>
permite crear uno o más directorios con el modo / permisos establecidos (atómicamente).
¿Hay un equivalente para crear archivos, en la línea de comando?
Algo parecido a:
open("file", O_WRONLY | O_APPEND | O_CREAT, 0777);
¿El uso touch
seguido de chmod
mi única opción aquí?
Editar: Después de probar la sugerencia de Teppic a su uso install
, lo corrió a través strace
de ver lo cerca que atómica que era. La respuesta es, no muy:
$ 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
...
Aún así, es un comando de shell único y uno que no conocía antes.
install