Permisos heredados en Linux con ACLS

Hace ya bastante que no publicaba nada pues he estado bastante enfocado en un proyecto, que ya voy terminando, así que ahora voy teniendo tiempo de nuevo. Hace poco un compañero me comentaba si existían los permisos heredados en Linux, y la verdad es que no hay algo como tal, hay algo así como una función de facto, así que podemos hacer algo muy parecido con ACLs sobre los directorios.

Supongamos que queremos crear un directorio en el que siempre Otros, tenga determinados permisos y esto no dependa del umask del usuario que procede a crear la carpeta o archivo, por ejemplo, tenemos la carpeta Todos, en la que tenemos ciertos documentos que siempre queremos que Otros tengan los permisos RWX sobre ellos, pero además, queremos que si alguien crea un nuevo documento o carpeta, contengan los mismos permisos.

Las opciones del comando en si para este ejemplo son simples, aunque la estructura y sintaxis del comando como tal encierra opciones más oscuras.

Setfacl -d -R -m o:rwx carpeta

Donde:

  • -d: Default
  • -R: Aplica permisos en recursivo
  • -m: Modifica los permisos
  • O: Otros

La sintaxis que nos da la página man para este comando es:

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

Cuando apliquemos las opciones de nuestro ejemplo, para el comando setfacl, veremos un símbolo + al final del documento:

Imagen 2. Símbolo + en los permisos de Todos

Y como comentaba, si con otro usuario creamos una carpeta dentro de todos veremos que sigue apareciendo este símbolo al final del nombre de la carpeta, indicando que los permisos del directorio padre, han sido heredados:

setfacl1
Imagen 3. Permisos heredados en la carpeta Pedro

Como comente esto no se ve afectado por el umask del usuario y en las siguientes capturas podemos ver que esto es así. Cambiamos el umask del usuario para que solo cree carpetas en las que el tiene todo los permisos, pero en Grupo y en Otros no tenga ningún permiso, y como vemos la nueva carpeta es generada así.

setfacl3
Imagen 4. Nuevo umask para el usuario Pedro

Si nos dirigimos de vuelta a la carpeta todos y creamos una carpeta, veremos que todo se mantiene igual

setfacl4
Imagen 5. Nueva carpeta en Todos con los permisos heredados.

Este comando abre muchas posibilidades para la gestión de directorios en Linux y abre también un amplio abanico para una seguridad mas granular, así que no se vosotros, pero yo voy a empezar a jugar con setfacl, para explorar sus opciones mas profundas.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s