¿Cómo sé que las ACL son compatibles con mi sistema de archivos?

13

¿Es suficiente ver getfaclque no hay errores, o tengo que verificar en otro lugar para ver si los sistemas de archivos admiten o no ACL?

0xC0000022L
fuente

Respuestas:

8

Si está hablando de un sistema de archivos montado, no conozco ninguna forma intrínseca de saber si ACL es posible. Tenga en cuenta que "¿son compatibles con ACL?" No es una pregunta muy precisa ya que existen varios tipos de ACL (Solaris / Linux / not-POSIX-after-all, NFSv4, OSX, ...). Tenga en cuenta que getfacles inútil como prueba ya que felizmente informará los permisos de Unix si eso es todo lo que hay: debe intentar configurar una ACL para probar.

Aún en el sistema de archivos montado, puede verificar la presencia de acllas opciones de montaje (que puede encontrar en /proc/mount). Tenga en cuenta que esto no es suficiente: también debe tener en cuenta la versión del kernel y el tipo de sistema de archivos. Algunos tipos de sistemas de archivos siempre tienen ACL disponible, independientemente de las opciones de montaje; Este es el caso de tmpfs, xfs y zfs. Algunos sistemas de archivos tienen ACL a menos que se excluyan explícitamente; Este es el caso de ext4 desde el kernel 2.6.39 .

Gilles 'SO- deja de ser malvado'
fuente
En cuanto a la getfaclprueba tienes razón. Excepto si pude encontrar una ACL no predeterminada (suprimiendo las predeterminadas y el encabezado). Sin /proc/mountembargo, la comprobación no parece ser suficiente en los casos en que la aclopción es una opción predeterminada que no proviene del comando mount fstab.
0xC0000022L
Me di cuenta al ejecutar ZFS en Linux, con acltype=posixacl, /proc/mountsse mostrará posixacl, pero en otro sistema con solo ext4, no hay nada dentro /proc/mounts, pero aclera una opción de montaje predeterminada para ext4.
CMCDragonkai
4

Para saber si ACL está disponible, puede:

  1. Verifique la versión actual del kernel y el sistema de archivos:
    uname -r
    df -To la mount | grep root

    distribución reciente tiene la opción de montaje ACL incluida por defecto (desde el kernel 2.6). Por lo tanto, no es obligatorio redefinirlo en / etc / fstab (o similar). Lista no exhaustiva de los sistemas de archivos involucrados: ext3, ext4, tmpfs, xfs y zfs.

    Si tiene una configuración anterior, es posible que deba volver a compilar el kernel y / o agregar acl /etc/fstab.
    Ejemplo de fstab: /dev/root / ext4 acl,errors=remount-ro 0 1

  2. Busque la configuración de ACL existente (el lugar de configuración "habitual" es on / boot):
    sudo mount | grep -i acl #optionnal
    cat /boot/config* | grep _ACL

    dependiendo del sistema, puede encontrar la configuración en su /proclugar. Aquí hay una manera de extraer la configuración del archivo .gz y luego buscar la configuración de acl:
    cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config
    cat running.config | grep _ACL

    Debería ver algo como:
    CONFIG_EXT3_FS_POSIX_ACL=y
    CONFIG_EXT2_FS_POSIX_ACL=y
    CONFIG_XFS_POSIX_ACL=y

    Para el sistema de archivos, puede intentar obtener más información con:
    sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
    (reemplace xxx / xxx por su sistema de archivos)

-
información Helpfull se puede encontrar en:
- superuser.com ,
- serverfault ,
- bencane.com ,
- wiki.archlinux.org

xaa
fuente
1

acl debe estar habilitado de manera predeterminada si está utilizando ext2 / 3/4 o btrfs.

Verifícalo con:

tune2fs -l /dev/sdXY | grep "Default mount options:"

Si no está en la salida, haga un:

tune2fs -o acl /dev/sdXY

Tentáculos de Cthulhu
fuente
grep acl /etc/mke2fs.conflo haré también
Tentáculos de Cthulhu