Tenemos toda la documentación necesaria para llevar a cabo este y otros casos prácticos sobre recursos compartidos entre Windows y GNU/linux en el apartado dedicado a Samba en este sitio web.
1. Accediendo desde Debian 11 a un recurso compartido en Windows
Vamos a lanzar las dos máquinas virtuales, la de Windows y la de GNU/Linux. Lo primero que tenemos que comprobar es que ambas máquinas están conectadas entre sí.
Lo primero que deberiamos hacer es asegurarnos de conocer las direcciones IP de cada equipo. Vamos a ver la dirección IP del equipo con GNU/Linux Debian.
Vamos a comprobar que tienen conexión entre sí,para ello usamos el comando ping.
Sabemos que el sistema GNU/Linux tiene conexión con el sistema Windows. No haría falta realizar la comprobación inversa, pero lo vamos a comprobar en un momento.
Compartiendo un directorio en red en Windows
Una vez comprobada la conexión, en Windows, crea un directorio llamado shared en C:\ y compártelo en red de forma que cualquier usuario pueda acceder a dicho recurso para realizar operaciones de lectura y escritura con el nombre compartido.
Compartimos el directorio C:\Shared con el nombre compartido de forma que cualquier usuario pueda acceder para realizar cualquier tipo de operación.
Accedemos Uso compartido avanzado…
Comprueba que realmente está compartido, para ello en Windows, accede al explorador de windows y trata de acceder al recurso compartido con su URL: \\nombreDeTuEquipo\compartido
Si no te acuerdas del nombre de tu equipo, puedes usar la dirección IP: \\192.168.100.20\compartido
Si no sale, mal asunto… prueba a escribir en la barra de direcciones \\localhost
Una vez compartido el recurso, trata de acceder a dicho recurso compartido desde GNU/Linux Debian. Para ello, ejecuta el navegador de sistemas de ficheros de Debian y en la barra de direcciones escribe la siguiente URL:
smb://192.168.100.20/compartido
Podríamos buscar en el navegador de sistemas de ficheros, en otras ubicaciones:
Los recursos cuyo nombre terminan por $ en Windows no se muestran, están ocultos. Sin embargo, cuando accedemos a un sistema Windows desde un Unix-Like con Samba si nos muestra estos recursos compartidos.
Vamos a acceder, de nuevo, con el usuario alumno de windows, pero esta vez vamos a recordar la contraseña hasta salir de la sesión.
¿Dónde se han creado el directorio y el fichero? Estarán en el recurso compartido en Windows, \\192.168.100.20\Compartido, que no es más que el directorio C:\Shared. Vamos a echar un ojo al contenido de este directorio en Windows.
Hemos visto como podemos compartir un directorio en red de forma simple desde Windows y acceder a dicho recurso compartido tanto desde Windows como desde GNU/Linux.
No obstante, cuando hemos accedido desde GNU/Linux no hemos usado una URL. Vamos a usarla.
Supongamos que estamos en nuestro directorio personal con el navegador de sistemas de ficheros, por ejemplo Nautilus. Si pulsamos el acelerador de teclado CTRL+L podemos reditar la barra de direcciones.
Ahora escibimos la URL: smb://DirecciónEquipo/Recurso, que en nuestro caso será: smb://192.168.100.20/Compartido.
¡Aquí estamos de nuevo! Acceso al recurso compartido 🙂
2. Creando un marcador de un recurso compartido en GNU/Linux
Para evitar tener que escribir una y otra vez una URL a la que accedemos de forma habitual, podemos crear un marcador para facilitarnos el acceso. Para ello, hacemos clic sobre el cuadro de selección que aparece junto a la barra de direcciones.
Si queremos queremos, podemos renombrar el marcador.
Vamos a desconectarnos del recurso compartido. Para ello, tan solo tenemos que hacer clic sobre el botón del icono de expulsar.
Desconectamos la conexión con el recurso compartido
Ahora, si quisieramos conectarnos de nuevo tan solo tenemos que hacer click en el marcador, que por cierto si ponemos el cursor del ratón sobre el mismo, nos mostrará una ayuda contextual dónde aparece la URL del recurso.
3. Permitiendo accesos anónimos – Problemas de seguridad!
Hemos visto que no podemos acceder con un usuario anónimo a recursos compartidos. Sin embargo, en la configuración de permisos del recurso «compartido» establecimos que Todos los usuarios podrían acceder para realizar cualquier operación. ¿Qué puede estar fallando?
Vamos a probar a acceder con un usuario anónimo.
Según esta configuración, seguramente podemos acceder como anónimo al recurso compartido, no obstante si accedemos desde el navegador de sistema de ficheros, no sabemos si está accediendo con el usuario alumno, que hemos guardado las credenciales o no.
Tenemos dos opciones, cerramos sesión e iniciamos de nuevo y probamos o instalamos la aplicación smbclient que nos permitirá conectarnos a recursos compartidos desde la terminal.
Vamos a instalar smbclient.
Lo de invitados lo vamos a investigar… O:)
4. Configurando permisos: Locales + Remotos = Permisos Efectivos
5. Compartiendo recursos desde GNU/Linux: Samba
Para poder compartir recursos en GNU/Linux o Unix-Likes necesitamos instalar un software especial, un servidor del protocolo SMB/CIFS que es el conjuntos de protocolos (realmente hoy en día solo CIFS) que utiliza Microsoft para compartir directorios e impresoras en red.
Instalamos samba en nuestro sistema. Este paquetes instalará un servidor smb en nuestro sistema. Por tanto, si es un servidor tendrá un servicio o demonio en ejecución que será el encargado de gestionar las conexiones SMB/CIFS sobre este equipo.
Si tenemos un servicio, el programa que vamos a utilizar para gestionar el servicio será systemctl (service antiguamente).
Vamos a ver el estado del servicio smbd.
Fichero de configuración de Samba
Como todo servicio, samba se configura a través de uno o varios ficheros de configuración. Este fichero estará dentro de algún subdirectorio dentro de /etc.
El fichero de configuración de samba está en /etc/samba/smb.conf. Este fichero contiene una configuración predeterminada en la que podemos encontrar muchos comentarios que nos ayudarán a entender ciertas configuraciones.
Podemos resaltar la sintáxis seleccionando como lenguaje sh.
Las líneas que comienzan por una # o por un ; son comentarios. Es decir, el servidor no las va a tener en cuenta
En el fichero de configuración básicamente os podemos encontrar secciones, parámetros de configuración y comentarios.
Un parámetro de configuración configura un elemento dentro de samba. Cada parámetro de configuración estará dentro de una sección.
Una sección permite establecer una configuración para un elemento concreto. De hecho, para configurar un recurso compartido, utilizamos una sección. Toda sección debe tener un nombre que se establece rodeando dicho nombre entre corchetes. La sección empieza cuando se declara, poniendo el nombre entre corchetes y termina cuando se encuentre una nueva sección o termine el fichero.
Existen varias secciones predeterminadas que tienen una función concreta, por ejemplo [Global] dónde se configura el comportamiento general del servidor Samba. Si no es una sección predeterminada, la sección indica un recurso compartido.
Cada sección puede contener varios parámetros de configuración que afectarán a dicha sección específica.
Todo como realmente se entiende es con la práctica.
Vamos a mostrar en nuestra terminal todas las secciones presentes en el fichero de configuración.
Sin embargo se muestran también secciones comentadas. ¿Cómo podríamos mostrar solo las secciones activas en nuestro fichero de configuración? Quitando los comentarios
En una primera aproximación podríamos emplear:
Las cuatros secciones que aparecen en nuestro fichero de configuración por defecto son todas predeterminadas, es decir tienen una función específica.
- global. Configuración global del servidor
- homes. Directorios personales de los usuarios
- printers. Impresoras compartidas en red
- print$. Controladores de las impresoras compartidas en red
6. Compartiendo un recurso de forma sencilla
Vamos a compartir el directorio /srv/ftp con el nombre ftp para que cualquier usuario pueda acceder para realizar operaciones de solo lectura.
Primero creamos la sección que representará al recurso compartido. Como sabemos el nombre de la sección será el nombre del recurso compartido.
Para que los cambios surtan efecto en el servidor, tenemos que guardar y reiniciar el servidor smbd.
Se supone que, ahora mismo existe un recurso compartido llamado ftp en nuestro equipo 192.168.100.250 que debería ser accesible por todos los usuarios de nuestra red. Vamos a Windows.
Si hacemos doble clic sobre ftp o escribimos la ruta completa \\192.168.100.250\ftp accederemos al recurso compartido ftp, que no es otra cosa que el directorio /srv/ftp que es el directorio raíz público del FTP.
¿Qué pasará si intentamos escribir (subir un fichero o crear un directorio) dentro del directorio anonimos. Recuerda, el directorio anonimos lo creamos para que cualquier usuario anónimo pudiera subir ficheros desde el ftp y crear directorios.
Vamos a intentar crear un directorio
Vamos a ver los permisos del directorio /srv/ftp/anonimos
No pasa nada, vamos a cambiar los permisos para que cualquier usuario pueda acceder para lectura y escritura.
Vamos a intentar escribir. ¡Nos sigue sin dejar!
El problema, está en la configuración de Samba. En samba, para esta sección hemos configurado read only = yes. Por tanto, a través de Samba, las conexiones que pasen por samba sobre este recurso compartido, no podrán realizar operaciones de escritura, solo lectura.
Si queremos permitir operaciones de escritura, tenemos que configurar read only = no, guardar y reiniciar.
Reiniciamos el servidor
Nos conectamos
Vamos a ver los permisos, propietario y grupo del directorio creado.
Dejar una respuesta