Parece que cada vez que creo un archivo con touch
los permisos se establecen en: -rw-r - r-- .
¿Hay alguna manera de configurar los permisos con touch
o tengo que hacerlo después con un comando diferente?
Parece que cada vez que creo un archivo con touch
los permisos se establecen en: -rw-r - r-- .
¿Hay alguna manera de configurar los permisos con touch
o tengo que hacerlo después con un comando diferente?
Respuestas:
Puede modificar su umask
para permitir (para la mayoría de las implementaciones) más privilegios de lectura / escritura, pero no ejecutables, ya que generalmente los permisos solicitados son 0666
.
Si umask
es así 022
, verá touch
hacer un 0644
archivo.
Curiosamente, POSIX describe este comportamiento en términos de creat
:
Si el archivo no existe:
La función creat () se llama con los siguientes argumentos:
El operando del archivo se utiliza como argumento de ruta.
El valor del bit a bit incluido OR de
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, yS_IWOTH
se utiliza como el argumento de modo.
y es solo siguiendo los enlaces para creat
, luego a open
, notar la mención de umask
y retroceder a open
(y creat
) para verificar que umask
se supone que afectatouch
.
Para umask
afectar solo el touch
comando, use una subshell:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(tenga en cuenta que, en cualquier caso, si el archivo existía de antemano, touch
no cambiará sus permisos, solo actualice sus marcas de tiempo).
Puedes manipular el umask
. Por lo general, está configurado para lo 022
que significa que cuando un usuario crea un archivo, obtendrá permiso para 0644
que pueda manipularlo umask
según sus necesidades.