Access Control List Linux Featured

Cómo usar listas de control de acceso para controlar los permisos de archivos en Linux

Una característica muy útil en Linux son las «Listas de control de acceso» que controlan el acceso a archivos y directorios. Así es como funcionan las listas de control de acceso para controlar los permisos de archivos en Linux.

Nota: Para comprender a fondo cómo funcionan las listas de control de acceso, primero configuraremos algunos usuarios y grupos en un sistema Linux que funcione. El siguiente ejercicio se realiza en una máquina virtual con sistema operativo Kali. El usuario raíz tiene el poder de agregar nuevos usuarios al sistema y asignarlos a grupos.

Creación de usuarios y grupos

En primer lugar, iniciaremos sesión como raíz, crearemos usuarios y los colocaremos en los grupos respectivos como se muestra en la tabla a continuación. A los usuarios se les han dado nombres simples para ayudar a comprender mejor el concepto.

Usuario
Grupo
juan1
juan2
juan3
Juanes
jane1
jane2
jane

Usaremos el adduser Comando para agregar nuevos usuarios al sistema.

archivo linux ACL 1

los id El comando mostrará los detalles del usuario recién creado. Mostrará la identificación del usuario (uid), la identificación del grupo (gid) y el nombre del grupo (grupos). El usuario, una vez creado, se agrega automáticamente a un grupo con el mismo nombre que el nombre de usuario. Ese usuario sería el único miembro del grupo.

archivo linux ACL 2

Asimismo, también se crean los usuarios “john2” y “john3”.

adduser john2
adduser john3

Una vez creados los tres usuarios, utilice elid comando para ver los respectivos ID de usuario y grupo.

Acl 5

Podemos ver que los tres usuarios están en sus propios grupos: 1000, 1001 y 1002. De acuerdo con la tabla que se muestra anteriormente, queremos que los tres usuarios estén en el mismo grupo: johns. Dado que dicho grupo no existe actualmente en el sistema, lo crearemos con el groupadd dominio:

groupadd -g <new_group_ID> <group_name>

Acl 7

El nuevo ID de grupo se especifica como 5000. Si el -g se ignora el interruptor, entonces el sistema seleccionará automáticamente una ID de grupo. El nombre del nuevo grupo es «johns». Ahora los tres usuarios, «john1», «john2» y «john3», deben agregarse como miembros de este grupo. Usaremos el usermod comando para esta tarea.

usermod -g <group_name> <user_name>

usermod agrega el usuario «nombre_usuario» al grupo «nombre_grupo». La siguiente figura muestra primero el uid y el gid para «john1» antes del cambio de grupo. Después de la usermod el comando se ejecuta correctamente, se agrega «john1» al grupo «johns» con gid 5000.

Acl 8

El mismo proceso se realiza para los usuarios «john2» y «john3».

usermod -g johns john2
usermod -g johns john3

Finalmente, los detalles de los tres usuarios en el grupo «johns» se pueden ver usando id dominio.

Acl 10

Hemos creado con éxito tres usuarios y los hemos agregado al mismo grupo.

De manera similar, los usuarios «jane1» y «jane2» se crean y agregan al grupo «janes» con gid 6000. Sus detalles se pueden ver usando el id comando como se muestra a continuación.

Acl 16

¿Cuál es la necesidad de las listas de control de acceso?

Supongamos que el usuario «john1» inicia sesión,

Acl 18

crea un nuevo archivo en el directorio de inicio,

Acl 19

y le agrega algo de contenido.

Cuenta 20

Utilizando ells comando, vemos los metadatos del archivo.

Acl 22

Los primeros caracteres de la salida, - rw - r - - r - - cuenta para la cadena de permiso. Vamos a diseccionarlo.

– rw – r – – r – –

Tipo de archivo permisos que tiene john1 en el archivo permisos que tienen los miembros del grupo johns en el archivo permisos otorgados a otros que no están en el grupo de johns

Este artículo es una buena introducción a los permisos de archivo.

¿Qué sucede si “john1”, siendo el propietario del archivo, quiere otorgar permisos de escritura adicionales solo a “john2” y “jane1” pero persiste con permisos de lectura para “john3” y “jane2”?

rw – r – –

juan1
juan2
jane1
juan3
jane2

Una opción sería crear un nuevo grupo con permisos de lectura y escritura para «john1», «john2» y «jane1» y otro grupo con permisos de solo lectura para «john3» y «jane2». En caso de que john1 desee modificar más los permisos para cualquier miembro del grupo, se deben crear más grupos. Crear y administrar varios grupos es una carga para el administrador del sistema.

En su lugar, se puede crear una «Lista de control de acceso» para un archivo que indique claramente las operaciones que cualquier usuario puede realizar en ese archivo.

¿Cómo crear una lista de control de acceso (ACL) para un archivo?

Cada archivo en el momento de la creación tiene una ACL asignada. Usarlo de manera eficiente es simplemente cuestión de modificarlo. Solo el propietario del archivo y el usuario raíz pueden modificar la ACL de un archivo.

Podemos usar el getfacl Comando para ver la ACL existente:

Ac 31

Las líneas que comienzan con # son líneas de comentarios. La información real se encuentra en las últimas tres líneas de salida, que es similar a la cadena de permisos obtenida anteriormente. La línea «usuario» hace referencia a los permisos asignados al propietario del archivo «john1». La línea «grupo» se refiere a los permisos asignados a otros miembros en el grupo «johns». Como habrás adivinado, la línea «otro» se refiere a cualquier otra persona fuera del grupo.

Usemos el setfaclcomando para modificar la ACL existente en el archivo.

setfacl -m entity:name:permissions <file_name>
entidad
nombre
permisos
el valor aquí significa para quién es la entrada de ACL:

usuario (u) o grupo (g) u otros (o)

el nombre del usuario o grupo, para quien la entrada de ACL es relevante los permisos de lectura, escritura y ejecución se indican con las letras r, w, x

“john2” recibe primero acceso de lectura y escritura al archivo,

Acl 32

seguido de «jane1».

Ac 34

Veamos la ACL actualizada para «secretfile».

35

Podemos ver que se han asignado permisos de lectura y escritura a «john2» y «jane1».

Verificación de la autenticidad de la ACL

Podemos ver que «john2» puede leer el archivo y escribir en él.

Ac 36

La nueva información ingresada por «john2» se ha agregado al archivo.

37

Del mismo modo, «jane1» obtiene el mismo privilegio: acceso de lectura y acceso de escritura.

41

Pero «john3» en el mismo grupo no puede escribir en el archivo.

Acl 40

“jane2”, que pertenece a la otra categoría, tampoco puede escribir en el archivo.

Acl 45

Conclusión

El mismo proceso también se puede extender a los directorios. Las listas de control de acceso permiten que un administrador del sistema maneje el acceso a archivos y directorios de manera experta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas