¿Cómo verifico los permisos de archivo efectivos (incluidas las ACL)/accesibilidad para/de un archivo determinado y un usuario determinado (incluidas las cuentas de servicio/sistema) sin verificar la ruta completa manualmente?
Ejemplo: supongamos un usuario joe y el archivo /long/path/to/file.txt. Incluso si file.txt se cambió a 777, joe aún debe poder acceder a /long/, y luego a /long/path/ y luego a /long/path/to/ antes. Si joe no tiene al menos acceso de lectura a todas las carpetas en la ruta, no puede acceder (leer/escribir/ejecutar) el archivo. Entonces, los permisos efectivos para él (como usuario "mundial/todos") son 0 y no puede acceder al archivo.
Alternativamente: ¿cómo obtengo una lista de los permisos (incluidas las ACL) de todos los usuarios (incluidas las cuentas de servicio/sistema) para un archivo determinado?
Una aplicación o un script bash también son bienvenidos.
Ya se ha hecho una pregunta similar con un enfoque ligeramente diferente en Unix y Linux: ¿ Cómo comprobar si un usuario puede acceder a un archivo determinado?
Una aplicación comercial que proporciona los permisos efectivos para un usuario y un archivo o carpeta seleccionados es TinkerTool System :
En el siguiente ejemplo , se muestran los permisos efectivos del archivo /private/var/log/clamav.log para el usuario Spotlight . El usuario Spotlight no puede leer ni escribir datos.
Al activar la pestaña Mostrar o establecer permisos, los permisos/propiedad de POSIX se muestran explícitamente.
sin ladera
ls -del FILE|DIR
enumerará los permisos estándar de Unix y las ACL. ¿Que es exactamente lo que está buscando?klanomath
ls
comando muestra los permisos de archivo para un archivo dado. Pero como se describe en la pregunta vinculada de Unix y Linux, los permisos en la ruta superior pueden configurarse de manera diferente para que un usuario arbitrario no pueda leer un archivo que es legible para todo el mundo. Resultado: los permisos de archivo son (77) 7 pero los permisos de archivo efectivos son (77) 0 (para un usuario arbitrario que no sea el propietario y no en el mismo grupo)sin ladera
ls -del
) y la capacidad de acceso (que parece ser lo que está buscando).sin ladera