GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puedo anular mi umask usando ACL para hacer que todos los archivos creados en un directorio determinado sean legibles?

Solución 1:

Sí, las ACL pueden hacer esto.

  1. Asegúrese de que su sistema de archivos esté montado con acl . Para verificar esto, escriba mount . Deberías ver acl enumerados entre otros permisos, por ejemplo,

    /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
    

    Si no está montado con acl, abre /etc/fstab y agrega acl a la lista de opciones:

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>   <options>       <dump>  <pass>
    /dev/sda1       /          ext3     noatime,errors=remount-ro,acl 0       1
    

    Ahora, vuelva a montar el sistema de archivos en ejecución con las nuevas opciones:

    mount -v -o remount /
    
  2. Instale las utilidades de ACL. En ubuntu/debian, esto es:

    sudo apt-get install acl
    
  3. Tus nuevos amigos son setfacl y getfacl . Usa setfacl para cambiar la acl predeterminada de un directorio:

    setfacl -d -m o:r foo
    

    -d establece el valor predeterminado, -m modifica acl, y o:r concede a "otros" el derecho de lectura. Establecer el valor predeterminado en un directorio es aproximadamente equivalente a establecer setgid en un directorio, pero en lugar de que los archivos recién creados hereden el grupo, heredan la acl. Juntos, setgid y acl pueden ser poderosos, porque puede otorgar permisos predeterminados a un grupo y hacer que los archivos recién creados pertenezcan a ese grupo, para un umask por directorio basado en grupos efectivo.

  4. Revisa tu trabajo:ls -l ahora debería mostrar un "+" adicional que indica la presencia de acl además de los permisos de archivo estándar.

    % ls -la foo/
    drwxr--r--+
    

    Puede obtener información detallada sobre la ACL usando getfacl .

    % getfacl foo
    # file: foo
    # owner: you
    # group: you
    user::rwx
    group::r--
    other::r--
    default:user::rwx
    default:group::---
    default:other::r--
    

Solución 2:

También puede forzar una umask para el directorio configurando la propiedad ACL de la máscara de esta manera:

setfacl -d -m mask:07 .

Linux
  1. ¿Por qué Rm puede eliminar archivos de solo lectura?

  2. ¿Cómo restaurar la propiedad predeterminada de grupo/usuario de todos los archivos en /var?

  3. Contando el número de archivos en un directorio usando C

  4. Dados dos árboles de directorios, ¿cómo puedo averiguar qué archivos difieren según el contenido?

  5. ¿Usando un índice para hacer grep más rápido?

Linux:¿cómo establecer permisos de archivo predeterminados para todas las carpetas/archivos en un directorio?

Descomprimir todos los archivos en un directorio

comando de linux para vaciar todos los archivos de un directorio

¿Cómo puedo encontrar todos los archivos vinculados en un sistema de archivos?

¿Puedo cambiar el nombre de los archivos en un directorio con Vim?

¿Cómo puedo eliminar todos los archivos de un directorio cuando informa que la lista de argumentos es demasiado larga?