GNU/Linux >> Tutoriales Linux >  >> Linux

Facl ignorando el permiso "x" pero solo en archivos?

Cuando uso setfacl para administrar qué permisos deben tener los archivos / directorios secundarios, por alguna razón los archivos tienen todos los permisos excepto el de ejecución ("x").

[email protected]:/opt/lampp/htdocs/project$ getfacl .
# file: .
# owner: someuser
# group: webs
# flags: -s-
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

[email protected]:/opt/lampp/htdocs/project$ touch file
[email protected]:/opt/lampp/htdocs/project$ mkdir dir
[email protected]:/opt/lampp/htdocs/project$ ls -l
total 4
drwxrwsrwx+ 2 someuser webs 4096 paź 31 13:35 dir
-rw-rw-rw-  1 someuser webs    0 paź 31 13:35 file

Pensé que tenía algo que ver con umask, pero cambiarlo de varias maneras nunca da el resultado esperado a menos que me esté perdiendo algo.

¿Cómo se puede arreglar esto?

Respuesta aceptada:

La respuesta de Hauke ​​Laging está tratando de decir:

    Cualquier programa que crea un archivo o directorio especifica el modo (permisos)
    que quiere que tenga ese archivo.
    Esto casi siempre está codificado en el programa C
    (o cualquier idioma que se use)
    y casi nunca es directamente accesible para el usuario.
    Luego la umask y la ACL predeterminada puede desactivar los bits de permiso,
    pero no agregarlos.

    Tu problema es que, mientras mkdir especifica un modo de 777 (rwxrwxrwx ),
    casi todos los programas que crean archivos especifican 666 (rw-rw-rw- ).
    Esto incluye touch , el shell
    (para la redirección de E/S; por ejemplo, program > file ),
    los editores (vi , vim , emacs , etc…), dd , split , y así.
    Por lo tanto, no obtendrá permisos de rwxrwxrwx en un archivo sin formato
    inmediatamente después de la creación (por cualquiera de estos programas),
    no importa lo que haga con las ACL;
    debe crear el archivo y luego chmod eso.

    Hay un par de excepciones a esta regla:

    • cp y programas relacionados (por ejemplo, cpio , tar , etc.)
      que copian o vuelven a crear un archivo,
      lo que (intentará) establecer el nuevo archivo en el mismo modo
      que el archivo original.
    • Los compiladores, que crean archivos ejecutables binarios, especifican un modo de 777
      (al menos, si la compilación tiene éxito),
      para que el usuario pueda ejecutar el programa que acaba de compilar.

Linux
  1. ¿Compara directorios pero no contenido de archivos?

  2. ¿Grep Word dentro de un archivo y luego copia el archivo?

  3. Obtener todos los archivos excepto los archivos en matriz:¿Bash?

  4. ¿Núcleo volcado, pero el archivo principal no está en el directorio actual?

  5. diff para generar solo los nombres de los archivos

Las 6 mejores formas de ver archivos en Linux

¿Cómo cambiar el permiso en un solo archivo?

Las mejores herramientas de transferencia de archivos en Linux

Cómo obtener solo el número de líneas de un archivo

eliminando archivos pero el espacio en disco todavía está lleno

Grep en un archivo de registro enorme (> 14 GB) ¿solo los últimos x GB?