Cómo utilizar 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 estamos configurando algunos usuarios y grupos en un sistema Linux que funcione. El siguiente ejercicio se realiza en una máquina virtual que ejecuta el sistema operativo Kali. El usuario root tiene el poder de agregar nuevos usuarios al sistema y asignarlos a grupos.

Creando usuarios y grupos

En primer lugar, iniciaremos sesión como root, 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.

UsuarioGrupo
john1
john2
john3
johns
jane1
jane2
janes

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”.

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

Acl 5

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

Acl 7

El nuevo ID de grupo se especifica como 5000. Si el -g se ignora el interruptor, entonces el sistema seleccionará automáticamente un 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 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, “john1” se agrega al grupo “johns” con gid 5000.

Acl 8

El mismo proceso se realiza para los usuarios “john2” y “john3”.

Finalmente, los detalles de los tres usuarios en el grupo “johns” se pueden ver usando id mando.

Acl 10

Hemos creado tres usuarios con éxito 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 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 agrega algo de contenido.

Acl 20

Utilizando lals comando, vemos los metadatos del archivo.

Acl 22

Los primeros caracteres de la salida, - rw - r - - r - - tenga en cuenta la cadena de permisos. Vamos a diseccionarlo.

rw –r – –r – –
Tipo de archivopermisos que john1 tiene en el archivopermisos que los miembros del grupo johns tienen en el archivopermisos otorgados a otras personas que no están en el grupo de johns

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

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

rw –r – –
john1
john2
jane1
john3
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 solo permisos de lectura para “john3” y “jane2”. En caso de que john1 desee modificar aún más los permisos para cualquier miembro del grupo, es necesario 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 indicará 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 al momento de su creación tiene una ACL asignada. Usarlo de manera eficiente es simplemente una 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:

Acl 31

Las líneas que comienzan con # son líneas de comentarios. La información real está en las últimas tres líneas de salida, que es similar a la cadena de permisos obtenida anteriormente. La línea “usuario” se refiere 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 lo adivinó, la línea “otros” se refiere a cualquier otra persona fuera del grupo.

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

entidadnombrepermisos
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 relevantelos 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”.

Acl 34

Veamos la ACL actualizada para “secretfile”.

Acl 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.

Acl 36

La nueva información ingresada por “john2” se ha agregado al archivo.

Acl 37

Del mismo modo, “jane1” obtiene el mismo privilegio: acceso de lectura y acceso de escritura.

Acl 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 directorios. Las listas de control de acceso permiten al administrador del sistema manejar el acceso a archivos y directorios de manera experta.

¿Es útil este artículo?

Compártelo con alguien que le vaya a resultar de ayuda

Deja una respuesta

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