Hasta ahora hemos configurado el acceso o los permisos a ficheros en GNU/Linux utilizando permisos de usuario, grupo y resto. Pero, qué sucede cuándo tenemos que configurar un recurso en el que solo queremos que accedan los miembros de viarios grupos.
Para aprender este tipo de configuraciones vamos a utilizar un caso práctico en el que vamos a compartir un directorio cuya ruta es /srv/ftp/ASIR con el nombre de recurso compartido ASIR utilizando SMB/CIFS. Tan solo podrán acceder a este directorio los miembros del grupo alumnos y del grupo profesores con todos los permisos.
El problema surge cuando queremos llevar esta configuración también a acceso local. Es decir, que si un usuario intenta acceder al directorio /srv/ftp/ASIR el sistema tenga en cuenta esta configuración de permisos: tan solo podrán acceder los miembros de alumnos y profesores.
¿Qué hay que hacer?
Hay que compartir el directorio /srv/ftp/ASIR de forma que solo puedan acceder para realizar cualquier operación los miembros de alumnos y profesores.
Además, tenemos que garantizar que si el acceso es local también se cumpla esa restricción: solo pueden acceder alumnos y profesores con todos los permisos.
Problema
En local, si solo fuera un grupo, es muy fácil. Tan solo tenemos que configurar el directorio para que el único grupo de usuarios que tenga acceso tenga esos permisos. El resto de usuarios no tendrá ningún permiso.
Pero, nos dan dos grupos. Una primera solución sería crear un tercer grupo e insertar a todos los miembros de cada uno de los grupos en ese grupo global o general. No obstante, esto tiene un problema: Tenemos que estar actualizando este gran grupo cada vez que cambie cualquiera de los otros grupos.
La solución aquí está en utilizar las herramientas setfacl y getfacl.
Configuración del sistema
Creamos el directorio si no existe.
Comprobamos si existen los grupos profesores y alumnos. Si no existen, los creamos.
Ya tenemos los dos grupos. Ahora vamos a utilizar la herramienta setfacl. Como no sabemos usarla, consultamos la página manual.
Con setfacl podemos establecer y quitar acls de un fichero o directorio. ¿Qué es una acl? una lista de control de acceso, no es más que una lista en la que se especifica quien o quienes pueden acceder con qué permisos a un fichero o directorio. Si un usuario no está en las acls de un fichero no podrá realizar ninguna operación.
Aquí tenemos la información de las entradas que podemos utilizar. Pero además, nos dan una serie de ejemplos.
La forma de aprender realmente es practicando con los contenidos, en este caso con el comando y sus opciones.
Vamos a probar, a darle todos los permisos al grupo alumnos usando setfacl
Lo que hemos hecho es añadir una acl al directorio, pero éste sigue perteneciendo a root y al grupo root. Además, aparece un signo + junto a los permisos cuando los mostramos con ls -ld para indicarnos que hay algo más que no se está mostrando con este comando.
Añadimos al grupo profesores con todos los permisos.
Hemos configurado los permisos en base a unos grupos. No obstante, para que realmente podamos comprobar que esto funciona necesitamos usuarios. Vamos a añadir a nuestros usuarios favoritos a estos grupos.
Podemos añadir los usuarios con comandos o editando el fichero de grupos.
Podemos editar
La ventaja de utilizar comandos es que el comando comprueba si el usuario existe.
Configuración de Samba
Esta es la parte sencilla de la tarea. Primero deberíamos asegurarnos de que todos los usuarios de los grupos profesores y alumnos tengan cuenta en la base de datos de samba.
Falta añadir a un par de usuarios más a la BBDD de Samba.
Hemos añadido a los usuarios a la BBDD, lo hemos comprobado con pdbedit. Están ahí, pero aún así tenemos dudas. Podemos comprobar que efectivamente está bien configurada la BBDD de usuarios de samba y que todo funciona como debería con un recurso de prueba.
Prueba
Creamos el directorio y comprobamos los permisos.
Ahora podemos comprobar de forma local, así evitamos posibles problemas de red, si un usuario concreto puede acceder a través de Samba.
Si accede, tenemos claro que marinapg tiene bien creada la cuenta de usuario en la BBDD de usuarios de Samba.
Configurando el recurso compartido
Estamos siendo muy estrictos, porque así nos lo pide el enunciado. Podríamos ser menos estrictos en samba, al menos con la configuración de permisos, puesto que ya hemos configurado los permisos en el sistema. No obstante, en este caso práctico y, seguramente, en el caso práctico de la prueba nos pedirán que seamos muy estrictos.
Accediendo desde Windows
Vamos a lanzar Windows. Vamos a comprobar que hay conexión con el sistema GNU/Linux.
Vamos a acceder
Vamos a si podemos acceder
Vaya vaya…
Vamos a comprobar si tenemos acceso a los recursos.
Vamos a probar de nuevo
Hemos accedido sin problemas
¿Cuál era el problema? Lo único que hemos hecho ha sido reiniciar y establecer la fecha y hora para que estuviera actualizada.
Instalando vsftpd
Vamos a instalar un servidor FTP y a probar si podemos acceder desde Windows utilizando FTP a el servidor FTP.
Instalamos
Dejar una respuesta