Lista de control de acceso a fichero, el problema

La lista de control de acceso a fichero, es el problema de montaje de la unidades externas en PiServer. De pronto, perdió los ajustes para la carpeta de usuario donde se montan automáticamente.

Error de montaje unidad externa

La captura anterior muestra el mensaje en PiServer. Descubrí la causa comparando las carpetas de montaje de PiServer con otro dispositivo, y observé que la linea de permisos finalizaba con un símbolo «+» en donde funcionaba bien. ¿A qué permiso corresponde este símbolo?

lista de control de acceso a fichero
Captura de terminal mostrando el símbolo del permiso FACL.

Lista de control de acceso a fichero

Se trata de la utilidad Linux «File Access Control List» que permite dar acceso a determinadas carpetas restringidas. Flexibiliza los permisos Unix para su uso por otros usuarios o grupos adicionales.

¿Cómo activo esta opción en PiServer?

Para hacerlo se utiliza el comando setfacl en un terminal junto a una serie de parámetro que explicare sobre el siguiente ejemplo.

setfacl -m u:newuser:rw micarpeta

Aquí el comando setfacl -m está otorgando el permiso rw (lectura y escritura) al directorio micarpeta para el usuario newuser.

¿Cómo desactivo esta opción en PiServer?

Para hacerlo se emplea de nuevo el comando setfacl en nuestra terminal Linux, pero ahora con los nuevos parámetros del ejemplo.

setfacl -x u:newuser micarpeta/

En cambio ahora, con la orden setfacl -x estamos eliminando los permisos concedidos al usuario newuser para el directorio micarpeta.

Ver la lista de control de acceso a fichero

Se puede comprobar el estado del permiso FACL (lista de control de acceso a fichero) sobre una carpeta, mediante el comando getfacl seguido del nombre de la carpeta.

# file: Codespace/
# owner: root
# group: root
user::rwx
user:umesh:rw-
group::r-x
mask::rwx
other::r-x

Al pulsar ENTER para ejecutar el comando, se muestra en pantalla un resumen similar al mostrado anteriormente. Ahora bien, para ejecutar el comando de la forma explicada, se debe estar en la ubicación en el terminal, en la ruta donde se encuentra nuestro directorio.