Cómo establecer permisos de archivo con comando táctil


16

Parece que cada vez que creo un archivo con touchlos 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:


27

Puede modificar su umaskpara 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 umaskes así 022, verá touchhacer un 0644archivo.

Curiosamente, POSIX describe este comportamiento en términos de creat:

  1. 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, y S_IWOTHse utiliza como el argumento de modo.

y es solo siguiendo los enlaces para creat, luego a open, notar la mención de umasky retroceder a open(y creat) para verificar que umaskse supone que afectatouch .

Para umaskafectar solo el touchcomando, 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, touchno cambiará sus permisos, solo actualice sus marcas de tiempo).


2

Puedes manipular el umask. Por lo general, está configurado para lo 022que significa que cuando un usuario crea un archivo, obtendrá permiso para 0644que pueda manipularlo umasksegún sus necesidades.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.