¿Es suficiente ver getfacl
que no hay errores, o tengo que verificar en otro lugar para ver si los sistemas de archivos admiten o no ACL?
¿Es suficiente ver getfacl
que no hay errores, o tengo que verificar en otro lugar para ver si los sistemas de archivos admiten o no ACL?
Respuestas:
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 getfacl
es 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 acl
las 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 .
acltype=posixacl
, /proc/mounts
se mostrará posixacl
, pero en otro sistema con solo ext4, no hay nada dentro /proc/mounts
, pero acl
era una opción de montaje predeterminada para ext4.
Para saber si ACL está disponible, puede:
Verifique la versión actual del kernel y el sistema de archivos:
uname -r
df -T
o 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
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 /proc
lugar. 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
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
grep acl /etc/mke2fs.conf
lo haré también
getfacl
prueba tienes razón. Excepto si pude encontrar una ACL no predeterminada (suprimiendo las predeterminadas y el encabezado). Sin/proc/mount
embargo, la comprobación no parece ser suficiente en los casos en que laacl
opción es una opción predeterminada que no proviene del comando mountfstab
.