Oracle ZFS Storage Appliance proporciona control de acceso a archivos por medio de listas de control de acceso (ACL, Access Control List). Una ACL es un mecanismo que permite o deniega el acceso a un archivo o directorio en particular.
El modelo de ACL proporcionado por Oracle ZFS Storage Appliance se basa en el modelo de ACL de NFSv4, que deriva de la semántica de ACL de Windows. Es un modelo de ACL enriquecido que proporciona acceso específico a los archivos y directorios. Cada archivo y directorio dentro del dispositivo de almacenamiento tiene una ACL, y todas las decisiones de control de acceso de SMB y NFS atraviesan los mismos algoritmos para determinar quién tiene permitido o denegado acceder a los archivos y directorios.
Una ACL se compone de una o más entradas de control de acceso (ACE, Access Control Entry). Cada ACE contiene una entrada para los permisos que ACE otorga o deniega, a quién se aplica la ACE y los indicadores de nivel de herencia usados.
Las ACL de NFSv4 permiten que las ACE sean heredadas por los archivos y los directorios recientemente creados. La herencia de ACE se controla mediante varios indicadores de nivel de herencia que el administrador configura en las ACL durante la configuración inicial.
Las ACL de NFSv4 dependen del orden y se procesan de arriba abajo. Una vez que se otorga un permiso, una ACE subsiguiente no lo puede revocar. Una vez que se deniega un permiso, una ACE subsiguiente no lo puede otorgar.
Una ACL de nivel de recurso compartido de SMB es una ACL que está combinada con una ACL de un archivo o directorio en el recurso compartido para determinar los permisos vigentes del archivo. La ACL de nivel de recurso compartido proporciona otra capa de control de acceso superior a las ACL de archivo y permite realizar configuraciones de control de acceso más sofisticadas. Las ACL de nivel de recurso compartido se configuran cuando el sistema de archivos se exporta mediante el protocolo SMB. Si el sistema de archivos no se exporta mediante el protocolo SMB, la configuración de la ACL de nivel de recurso compartido no se aplicará. De manera predeterminada, las ACL de nivel de recurso compartido otorgan control total a todos.
El comportamiento de la ACL y las propiedades de herencia son aplicables solo para los clientes NFS. Los clientes SMB usan semántica de Windows estricta y tienen prioridad por sobre las propiedades de ZFS. La diferencia es que NFS utiliza semántica POSIX y los clientes SMB no. Las propiedades son principalmente compatibles con POSIX.