educación, informática y demás

Samba

Samba again!

Como decía Megadeth…

Vamos a seguir con Samba un poquito. En esta entrada vamos a realizar distintas configuraciones de recursos compartido utilizando Samba.

Primero: Comprobar que todo está bien

Siempre que trabajemos con cualquier servicio, ya sea samba, http o ftp, lo primero que deberíamos comprobar es que todo está bien. Es decir, que el servicio está funcionando.

No hace falta escribir el .service después de smbd. Aparece en la captura porque he utilizado el tabulador para completar.

En el caso de samba podemos comprobar que tenemos conexión utilizando el programa smbclient con la opción -L conectandonos a localhost. Localhost es una dirección IP, 127.0.0.1, que apunta a la propia máquina.

Comprobamos que samba está en ejecución y que no tiene nada compartido, excepto los drivers de las impresoras.

¿Y si queremos conectarnos desde otra máquina? Tenemos que usar como dirección IP la dirección IP del servidor. Esto también podemos hacerlo desde nuestra propia máquina. Lo primero que necesitamos es conocer la dirección IP del servidor.

Tenemos dos direcciones IP asignadas, la de la interfaz virtual lo o loopback: 127.0.0.1 – localhost, y la asignada a la interfaz de red enp0s3 192.168.100.5

Vamos a conectarnos utilizando la dirección IP.

Mostrando los recursos compartidos de este sistema

Compartiendo un directorio – recurso 1

Crea el directorio /srv/shared/publico y compartelo en samba con el nombre de recurso compartido shared, cualquier usuario podrá acceder para realizar operaciones de lectura.

Solución propuesta

Analizamos lo que nos piden, que compartamos el directorio /srv/shared/publico con el nombre de recurso compartido shared. Editamos el fichero de configuración

Por tanto, hasta aquí sabemos que tenemos que crear una nueva sección con el nombre shared.

Sección shared, con la ruta del directorio que se está compartiendo

El siguiente paso será conocer quienes pueden acceder. Cualquier usuario, de esta afirmación podemos pensar que los usuarios anónimos podrán acceder, así que necesitamos activar el acceso de usuarios anónimos o invitados.

Por otro lado nos dicen que acceso de solo lectura, así que activamos el parámetro de solo lectura.

Configuración de samba para compartir el directorio /srv/shared/publico con el nombre shared, permitiendo acceso de anónimos (cualquier usuario) con solo lectura

Tenemos que crear el directorio y reiniciar el servicio

Creamos el directorio y comprobamos los permisos, que permiten acceso de lectura a todos.

Comprobamos que estamos compartiendo ese recurso.

Con smbclient -L seguido de la ruta de un equipo podemos listar los recursos que está compartiendo dicho sistema.

Compartiendo otro recurso – Recurso 2

Supongamos que en nuestra organización tenemos tres departamentos: desarrollo, ventas y sistemas.

Nos gustaría proporcionar un recurso compartido para cada uno de estos departamentos en nuestro servidor con Samba de forma que los usuarios de la empresa puedan acceder al directorio de su departamento para obtener información. En principio, solo vamos a permitir operaciones de lectura siendo el administrador del sistema el que se encargue de gestionar los documentos que se compartirán.

Cada departamento tendrá un directorio con el nombre del departamento dentro del directorio /educatica/informacion.

  1. Crea un grupo para cada departamento
  2. Crea los directorios de cada uno de los departamentos
  3. Crea un recurso para cada uno de los departamentos permitiendo acceso de usuarios anónimos y solo operaciones de lectura.

Crea un grupo para cada departamento

Crea un grupo para desarrollo, otro para ventas y otro para sistemas.

Ahora mismo los grupos estarán vacíos. No pasa nada

Crea un directorio para cada departamento

Dentro del directorio /educatica/informacion debemos crear un directorio para cada departamento: desarrollo, ventas y sistemas. Podemos aprovechar las llaves.

Creamos los grupos utilizando la llave 🙂

Echa un vistazo a los permisos. ¿Qué operaciones pueden realizar los usuarios en general sobre estos directorios?

Crea un recurso para cada departamento

El nombre del recurso será el del departamento, es decir: desarrollo, ventas y sistemas. Cada uno de los recursos compartirá, respectivamente, el directorio del departamento que estará en /educatica/informacion/desarrollo, /educatica/informacion/ventas y /educatica/informacion/sistemas respectivamente.

Se permitirá el acceso de usuarios anónimos, pero solo se permitirán operaciones de lectura.

Reiniciando el servicio y probando que funciona

Una vez configurado el fichero y guardada la configuración, tenemos que reiniciar el servicio para que la nueva configuración se aplique.

Podemos comprobar la configuración efectiva con el comando testparm.

También podemos mostrar la configuración real almacenada en el fichero con el comando grep -v ^# /etc/samba/smb.conf | tr -s «\n»

¿Cómo podemos comprobar que de verdad funciona?. Conectándonos.

Vamos a intentar acceder al recurso compartido desarrollo. Para ello tendremos que usar la dirección //localhost/desarrollo o //192.168.100.5/desarrollo, dónde 192.168.100.5 es la dirección IP de mi servidor.

Nos hemos conectado pero al ejecutar el comando ls, para que liste el contenido del recurso, no sale nada. Esto es así porque no hay contenido en el directorio.

Si intentamos escribir, no nos dejará porque hemos configurado el recurso desarrollo como solo lectura

Cargando documentación en los directorios

Para que los directorios compartidos no estén vacíos vamos a crear un fichero leeme.txt para cada departamento que tan solo contendrá un mensaje de bienvenida. Podemos crear el fichero con redirecciones en nuestro directorio personal y después copiarlo a cada directorio compartido.

Creamos el fichero leeme.txt del departamento de desarrollo
Creamos los ficheros leeme de cada departamento
Están los ficheros leeme.txt en su sitio

Vamos a conectarnos a los recursos compartidos de Samba. Vamos a conectarnos en modo gráfico desde el propio sistema. Para poder utilizar thunar correctamente y conectarnos a recursos compartidos en samba tenemos que tener instalado gvfs y gvfs-backends.

Instalando paquetes necesarios

Una vez instalados…

Vamos a acceder desde Windows

Vamos a entrar en desarrollo, trataremos de leer y escribir.

Leer podemos leer

Configurando recursos – Recurso 2 avanzado

Ya hemos compartido los recursos en red de cada uno de los departamentos, pero los accesos son de solo lectura y, además, no discriminamos entre usuarios del departamento.

Nos gustaría que los miembros de cada departamento pudieran acceder para realizar operaciones de escritura en su directorio. Es decir, que si un usuario del departamento de ventas accede al recurso del departamento de ventas pueda realizar operaciones de escritura. Sin embargo, si accede al directorio de otro departamento tan solo pueda realizar operaciones de lectura.

Por tanto, la configuración sería como hasta ahora, pero para cada recurso tendremos que habilitar la escritura para los miembros del departamento, tanto en samba como en local.

Usuarios y grupos

Para poder comprobar la configuración que hemos llevado a cabo en samba necesitamos contar con cuentas de usuario del sistema que pertenezcan a los distintos grupos.

Además, tenemos que añadir las cuentas de usuario a la base de datos de usuarios de samba.

  • desarrollo:alfredoff
  • ventas:marinapg
  • sistemas:ramonam

Creamos las cuentas de usuario

Ahora creamos las cuentas de grupo

Tenemos que configurar los permisos locales para que se puedan realizar las operaciones que nos solicitan. En este caso podemos establecer como grupo del directorio el grupo del departamento y darle permiso de escritura.

Con los permisos actuales el único usuario que puede escribir en estos directorios es root.

Configuramos los permisos locales para permitir los accesos que nos piden

Ahora configuramos samba.

Nos quedan dos pasos: añadir usuarios a la base de datos de samba y reiniciar el servicio.

Añadimos los usuarios

Vamos a mostrar el contneido de la base de datos de usuarios.

Vamos a acceder con marinapg, primero a un recurso en el que no tiene permiso de escritura (desarrollo) y después al recurso de su departamento (ventas)

Dejar una respuesta