educación, informática y demás

2410 - Samba

Samba y demás

Siempre que configuremos un recurso compartido (directorios) tenemos que asegurarnos de:

  • Configurar el sistema. Todo lo que sea necesario para que el recurso compartido se comparta como se pide.
    • Usuarios y grupos. A lo mejor tenemos que crear cuentas de usuario y de grupos.
    • Sistema de ficheros. es posible que tengamos que configurar el sistema de ficheros. Estas operaciones pueden ser: Crear directorios, configurar permisos, propietario, grupo o incluso, utilizar ACLs.
    • Configuración de red. Cuidado, lo damos por hecho, pero si el sistema en el que tenemos el servidor Samba no está bien conectado a la red LAN no podremos compartir nada.
  • Configurar samba.
    • Configurar los recursos. Fichero /etc/samba/smb.conf
    • Configurar la base de datos de usuarios de samba. smbpasswd.
    • Una configurado todo comprobaría la configuración:
      • tesparm
      • pdbedit -L
    • Si hace falta, podemos comprobar las conexiones con smbclient.
  • Reiniciar (si es necesario) el servicio
    • Hoy en día, parece que no es necesario reiniciar el servicio para que se apliquen los cambios en el fichero de configuraciones. No obstante, siempre podemos utilizar systemctl restart smbd

Ejercicios resueltos

Hemos hecho muchos ejercicios de Samba a lo largo del curso y hay más ejercicios resueltos en este sitio web. A continuación se proporcionan una serie de enlaces a ejercicios de Samba.

  • Entradas sobre Samba. En este enlace tienes todas las entradas del sitio web en las que se habla de Samba. Hay muuuuchas entradas con casos prácticos y ejercicios, de hecho deberían estar todas.
  • Entradas de Samba por agrupación. Las entradas están publicadas en categorías. A continuación tenéis las principales categorías en las que se han publicado entradas sobre Samba

Ejercicio propuesto

Sistema

Vamos a comenzar con alguna configuración básica del sistema para que podamos practicar con datos más cercanos a casos prácticos reales.

Usuarios y grupos

Crea los siguientes usuarios y grupos para practicar con ellos.

<usuario, lista de grupos a los que pertenece>

  • sergiobr,educatica,asir,aso,castelar
  • raulmh,educatica,asir,ceti
  • miguelgp,educatica,asir,ceti
  • fernandorm,educatica,asir,ceti
  • javierhs,educatica,asir,python
  • davidtf,educatica,asir,python
  • gonzaloab,educatica,asir,dam
  • brunomp,educatica,asir,ceti
  • juliarb,educatica,asir,ceti

Contraseña: ClaveRoot#20

Recurso noticias

Comparte el directorio /educatica/2025/informacion con el nombre de recurso noticas de forma que cualquier usuario (anónimos incluidos) tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario davidtf y los miembros del grupo ceti. Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso noticias tenga los mismos permisos de acceso que los del recurso, es decir pueda ser accedido para lectura por cualquier usuario y el usuario davidtf y el grupo ceti tengan acceso de lectura y escritura.

Recurso asir

Comparte el directorio /educatica/2025/estudios/asir con el nombre de recurso asir de forma que solo los usuarios del grupo asir tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario juliarb.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Recurso ceti

Comparte el directorio /educatica/2025/estudios/ceti con el nombre de recurso ceti de forma que solo los usuarios del grupo ceti tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario sergiobr. Nunca se permitirá el acceso de los usuarios del grupo python.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Recurso python

Comparte el directorio /educatica/2025/estudios/python con el nombre de recurso python de forma que solo los usuarios del grupo python tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario javierhs. Nunca se permitirá el acceso de los usuarios del grupo ceti.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Recurso castelar

Comparte el directorio /educatica/2025/estudios/castelar con el nombre de recurso castelar de forma que solo los usuarios del grupo python, ceti y asir tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario javierhs, juliarb y sergiobr.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Además, deberás garantizar que los accesos se mantienen también si el acceso es local.

Solución

Para crear los usuarios y los grupos vamos a crear un pequeño script que nos agilice todo el trabajo de crear y configurar cuentas de usuario y grupos.

Creamos el script que recibirá el nombre de un usuario y una lista variable de grupos a los que el usuario deberá pertenecer.

Versión sencilla

Versión avanzada

Podemos comprobar, después de ejecutar el script con los datos, si se han creado los usuarios mostrando el fichero de cuentas de usuario del sistema

También podemos comprobar los grupos de forma similar

En nuestro caso, el grupo asir y educatica posiblemente existían y estarán más arriba. No hay problema

Recurso noticias

Tenemos que ser metódicos, seguir un proceso, una serie de pasos estructurados que nos permitan configurar correctamente el servicio y el sistema.

Comparte el directorio /educatica/2025/informacion con el nombre de recurso noticas de forma que cualquier usuario (anónimos incluidos) tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario davidtf y los miembros del grupo ceti. Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso noticias tenga los mismos permisos de acceso que los del recurso, es decir pueda ser accedido para lectura por cualquier usuario, el usuario davidtf y el grupo ceti tengan acceso de lectura y escritura.

Configuración del sistema

Creamos el directorio y lo configuramos para que se puedan realizar las operaciones que se solicitan.

/educatica/2025/informacion

Según esos permisos no se cumple lo que nos piden en el enunciado.

Con esto tenemos configurada, en principio, la parte del sistema: el directorio existe y permitiremos los accesos solicitados.

Configuración de Samba

Lo primero que deberiamos hacer es comprobar que tenemos cuentas de usuario de samba para los usuarios que van a acceder.

Tenemos que insertar los 10 usuarios del enunciado :___(

Vamos a hacerlo a mano una vez

Vamos a crear un script en un momentito

El script

La ejecución

Oh! Hemos metido la pata con el nombre de un usuario

Vamos a tocar el fichero de grupos

Cambiamos…

Ahora guardamos y comprobamos

Ea. Lanzamos de nuevo el script

Estamos seguros de que están los usuarios. Ahora configuramos el fichero smb.conf con el nuevo recurso

Ahora comprobamos con testparm

Vamos a comprobar la configuración efectiva de nuestro recurso.

Vamos a comprobar la conexión al recurso con smbclient.

Vamos a meter algo en noticias 😀

Vamos a conectarnos

Hemos entrado como anónimo sin permiso de escritura.

Vamos a probar con davidtf

Vamos a ver los permisos establecidos

Vamos a probar con un usuario de ceti

Veamos los permisos

Conexiones en red

Vamos a conectarnos desde Windows

La dirección IP de este host es 192.168.115.10

Vamos a intentar acceder al recurso noticias

Estamos accediendo como usuario anónimo. Para garantizarnos acceder con un usuario concreto, podemos conectarnos a una unidad de red.

Configuiramos

Credenciales

Conectamos

Creamos algo

Mas

Veamos desde el sistema remoto

Recurso asir

Comparte el directorio /educatica/2025/estudios/asir con el nombre de recurso asir de forma que solo los usuarios del grupo asir tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario juliarb.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Según entendemos del enunciado, no se permiten invitados, puesto que solo pueden acceder los miembros del grupo asir, para realizar operaciones de lectura. Como excepción, juliarb podrá acceder para realizar operaciones de escritura.

Configuración del sistema

Adaptamos los permisos, propietario y grupo del directorio

Estamos adaptando los permisos del directorio para que el comportamiento sea el mismo tanto si el acceso es en local como en remoto. Habrá ocasiones en las que no podamos hacer un ajuste tan fino.

Recurso ceti

Comparte el directorio /educatica/2025/estudios/ceti con el nombre de recurso ceti de forma que solo los usuarios del grupo ceti tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario sergiobr. Nunca se permitirá el acceso de los usuarios del grupo python.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Vamos a editar con mousepad en esta ocasión

Ahora configuramos el sistema

Con los permisos que hemos establecido en local sobre el directorio, si un usuario pertenece a la vez al grupo python y al grupo ceti si podrá acceder. Esta configuración es la más cercana a lo que nos piden en remoto, que es lo que debemos implementar.

Recurso python

Comparte el directorio /educatica/2025/estudios/python con el nombre de recurso python de forma que solo los usuarios del grupo python tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario javierhs. Nunca se permitirá el acceso de los usuarios del grupo ceti.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

En este caso vamos a ir un poco más alla en la restricción de la configuración de acceso.

Al poner en la máscara un 0 para los permisos del resto nos aseguramos que nadie que no esté en el grupo o sea el propietario pueda acceder. Esto también lo podríamos haber hecho con el recurso de ceti.

Ahora configuramos los permisos del directorio.

Recurso castelar

Comparte el directorio /educatica/2025/estudios/castelar con el nombre de recurso castelar de forma que solo los usuarios del grupo python, ceti y asir tengan acceso de lectura a la información que se comparte aquí. Tan solo podrá acceder para realizar operaciones de lectura y escritura el usuario javierhs, juliarb y sergiobr.

Asegúrate de que cualquier fichero o directorio que se cree a través de samba en el recurso tenga los mismos permisos de acceso que los definidos para el recurso.

Además, deberás garantizar que los accesos se mantienen también si el acceso es local.

En local?

setfacl

Vamos a configurar el acceso

Configuramos los grupos

Probando todo

Primero vamos a reiniciar el servicio y comprobar que el servicio arranca y funciona bien.

Vamos a echar un vistazo a los recursos compartidos con smbclient.

Vamos a comprobarlo desde el navegador de sistemas de ficheros.

Vamos a conectarnos a los recursos compartidos desde Windows 10

En este sistema, con el usuario alumno, ya tenemos configurada una unidad de red conectada al recurso noticias, por lo que no estará guardando las credenciales a la hora de conectarse a los recursos de este sisstema

Vamos a desconectarnos y tratarnos de conectar con otras credenciales.

Ya no aparece la unidad de red Z: en la barra lateral del explorador de Windows. Vamos a tratar de conectarnos a castelar.

Nos pide credenciales puesto que no permite acceso de invitados.

Nos ha dejado entrar y, además, tenemos permiso de escritura.

Veamos el contenido del directorio en el sistema remoto.

Se han creado el directorio y el fichero con los permisos que configuramos en Samba.

Si ahora accedemos a Ceti, el explorador de windows mantiene la sesión con las credenciales que hemos insertado al acceder al recurso castelar. En este recurso, ceti, juliarb no tiene permisos de escritura.

Comando net

Vamos a utilizar el comando net use

Veamos la ayuda del comando USE dentro de NET

Veamos la opción sessión

Ahora vamos a ejecutar como administrador una terminal para poder ejecutar el comando net con privilegios de administrador.

Vamos a listar las sesiones abiertas y los recursos que estemos usando

Dejar una respuesta