Ya todos conocemos los permisos sobre los usuarios, los grupos y otros que se manejan en Linux y que nos dan la opción de permitir o denegar la lectura, escritura y ejecución sobre cada uno de los archivos que tenemos en el sistema.
Estos los identificamos con las letras rwx que se ven en la consola así
root@localhost:~# ls -l file
-rwxrw-r-- 1 root root 125 2011-03-30 file
Lo que tenemos en el ejemplo es un archivo llamado file perteneciente al usuario y grupo root, cuya última modificación fue el 30 de marzo de 2011, y los permisos son:
Usuario: rwx --> Lectura (r) - Escritura (w) - Ejecución (x)
Grupo: rw- --> Lectura (r) - Escritura (w)
Otros: r-- --> Lectura (r)
Pero adicionalmente a estos existe en Linux la posibilidad de asignar permisos especiales y específicos para un usuario o para un grupo, estos son denominados acl (listas de acceso).
Para poder configurar las listas de acceso es necesarios dos pasos en el sistema previos a habilitar estos permisos especiales, el primero es instalar el paquete y el segundo es permitir que la partición los use, esto se hace así:
Instalar paquete:
root@localhost:~# apt-get -y install acl
Permitir su uso en la partición:
En el archivo /etc/fstab adicionamos el permiso acl a la partición donde se van a usar los permisos, de la siguiente forma
# /home was on /dev/sda6 during installation
UUID=77a5-4327-a1ee-7d80e97fdf47 /home ext4 defaults,acl 0 2
UUID=77a5-4327-a1ee-7d80e97fdf47 /home ext4 defaults,acl 0 2
Para que este cambio se realice podemos o reiniciar el sistema o remontar la partición, si no tienen practica para remontar particiones les recomiendo reiniciar.
Una vez hacemos estos dos pasos ya podemos revisar los permisos especiales sobre un archivo con el comando getfacl, de la siguiente forma
Bueno ahora le daremos el permiso a un usuario (para el ejemplo root) que pueda leer y escribir este archivo pero únicamente a este usuario, esto se hace con el comando que tiene la siguiente estructura
setfacl -m [usuario-grupo]:[nombre usuario-grupo]:[permisos] archivo
que para el ejemplo sería así
user@localhost:~$ setfacl -m u:root:rw APU.xls
Una vez se aplica este permiso podemos ver como este usuario tiene permisos especiales y únicos sobre este archivo
Así puedes crear permisos especiales y específicos para archivos y directorios, para ver mas opciones te aconsejo ver el man de este comando.
Si quieres eliminar todos los permisos especiales sobre un archivo ejecutas el siguiente comando
user@localhost:~$ setfacl -b file
Con esto ya eliminas todos los permisos especiales configurados
Espero le sirva y quede claro, es un tema muy extenso pero esta es la base
Comentarios
Publicar un comentario