Servidor Samba
Para permitir a los equipos Windows acceder al equipo Linux instalaremos el servidor Samba (paquete samba). Durante la instalación nos hará varias preguntas para configurar el archivo /etc/samba/smb.conf, aunque después lo revisaremos:
- Grupo de trabajo: el mismo que en las máquinas Windows.
- Contraseñas cifradas: Sí.
- ¿Utilizar DHCP para configurar WINS? No (si no vamos a usar DHCP).
- ¿Ejecutar Samba como demonio o como esclavo de inetd? Demonio.
- ¿Crear la base de datos de contraseñas? Sí (creará el archivo de contraseñas cifradas /var/lib/samba/passdb.tdb).
Una vez terminada la instalación, tendremos los dos demonios de Samba funcionando:
- nmbd: actúa como un servidor de nombres Windows, comunicando el nombre de nuestra máquina a las máquinas Windows de la red local e informándoles de cuáles son nuestros recursos compartidos. También maneja la resolución de nombres de NetBIOS (obtener una equivalencia entre la direccion IP de la LAN y el nombre de la máquina), comunicándose para ello con un servidor WINS presente en la red.
- smbd: acepta las peticiones de archivos e impresoras desde las máquinas Windows. Se encarga de compartir los recursos (archivos e impresoras) y del control del acceso a los recursos, gestionando los permisos de los clientes.
Para acceder a Samba crearemos un usuario específico, samba, que será el único que tendrá acceso a los recursos compartidos y que deberán usarán todos los ordenadores que accedan a los mismos. Como no queremos que el usuario samba pueda acceder a otros servicios del sistema le impediremos hacer login, creándolo con el comando:
# useradd -s /bin/false sambaDespués lo añadiremos a la lista de usuarios de Samba, que se encuentra en el archivo /etc/samba/smbpasswd, ejecutando el comando:
# smbpasswd -a sambaConfiguración del servidor Samba
Para configurar el servidor Samba editaremos el archivo /etc/samba/smb.conf.
- Comprobaremos el grupo de trabajo:
workgroup = domain.com
- La directiva server string establece la descripción del ordenador
que se verá en la red. Por defecto es:
server string = %h server (Samba %v)
donde %h es el nombre del equipo y %v la versión de Samba.
- Comprobaremos que las contraseñas se encriptan, verificando la línea:
encrypt passwords = true
- La directiva guest account estará comentada:
; guest account = nobodySi la descomentamos permitiremos que dejar el nombre de usuario y contraseña en blanco equivalga a entrar como el usuario guest (Invitado, sin contraseña). Autorizar el acceso guest es permitir a cualquier usuario de una máquina del grupo de trabajo acceder a Samba, y la integración en un grupo de trabajo no es un metodo fiable de validación. Cualquier usuario de una máquina Windows puede cambiar su grupo de trabajo tantas veces como desee sin que ningun mecanismo de autentificación se lo impida. Dejaremos la línea comentada para esto no ocurra.
- Podemos establecer un cierto nivel de seguridad especificando qué rango
de direcciones IP podrán acceder al servidor Samba, añadiendo la
directiva hosts allow. Por ejemplo, para permitir el acceso sólo
desde una red local haremos (atención al punto final):
hosts allow = 192.168.1. 127.
- Permitiremos el acceso sólo al usuario samba (si se crean
más habrá que añadirlos aquí):
valid users = samba
- Para compartir las carpetas personales de los usuarios haremos (si no queremos compartir las
carpetas personales de los usuarios comentaremos con un ";" todas estas líneas):
[homes] comment = Home Directories browseable = yes writable = yes create mask = 0777 directory mask = 0777
- [homes]: indica bajo qué etiqueta veremos esos directorios en los equipos Windows.
- writable = yes/no: permite escribir en el directorio.
- browseable = yes/no: permite al navegar por los recursos compartidos.
- create mask y directory mask: establecen los permisos de los archivos y directorios que se creen a 777, (u=rwx g=rwx o=rwx), para que puedan ser leídos, modificados o ejecutados por cualquier usuario.
- Si queremos compartir otros directorios, como por ejemplo:
- /var/www, permisos de lectura y escritura, etiqueta en Windows web.
- /home/francis/deb, permisos de lectura, etiqueta en Windows debian.añadiremos las líneas:
[web] comment = directorio de la web path = /var/www writable = yes browseable = yes guest ok = no create mask = 0777 directory mask = 0777 [debian] comment = repositorio paquetes deb path = /home/francis/deb read only = yes browseable = yes guest ok = no
- path indica el directorio compartido.
- read only = yes/no establece el directorio como de sólo lectura.
- guest ok = yes/no permite el usuario invitado.
Si tenemos problemas para acceder al directorio compartido o para modificar, borrar o crear archivos revisaremos los permisos del usuario samba y el propietario de la carpeta compartida y su contenido.
- Si no tenemos impresoras para compartir conectadas al servidor Linux comentaremos con un ";" todas las líneas de la sección [printers].
- Podemos habilitar nuestro servidor Samba para que actúe de servidor de nombres WINS
y se encargue de traducir los nombres NetBIOS a IPs. Para ello, agregaremos las siguientes
líneas a /etc/samba/smb.conf:
wins support = yes domain master = yes
Reiniciaremos los demonios de Samba con:
# /etc/init.d/samba restarty probaremos a acceder a los directorios e impresoras compartidas desde un ordenador Windows de la red, desde Entorno de red.
Comandos de Samba
Algunos comandos útiles de Samba son:
- para ver quién está conectado:
# smbstatus - para ver la IP del equipo host de la red:
# nmblookup host
Deja un comentario
