O servizo samba
Introdución
Samba é unha implementación libre para sistemas Linux do protocolo de ficheiros compartidos de Microsoft Windows, chamado SMB (Server Message Block). Foi desenvolvido utilizando técnicas de enxeñería inversa coa axuda, entre outras, dun sniffer para entender o funcionamento do protocolo. O nome vén de inserir dúas vogais ao protocolo estándar que Microsoft usa para as súas redes, o SMB.
Samba é unha ferramenta que permite:
- Compartir recursos, como ficheiros e impresoras, entre máquinas Windows e Linux.
- Configurar un equipo Linux como controlador de dominio dunha rede Windows (o que se coñece como un PDC). A idea é facer crer aos equipos Windows que o servidor Linux é un servidor de Windows que funciona como controlador de dominio.
Instalación de Samba
En Ubuntu, os paquetes principais de samba son:
- smbclient: cliente de samba, que permite acceder a un cartafol compartido dun equipo Windows dende unha máquina Linux.
- samba: servidor de samba, que permite compartir carpetas nunha máquina Linux para que sexan accedidas dende máquinas Windows.
Para instalar os paquetes hai que teclear:
sudo apt-get install samba smbclient
Configuración
Samba, do mesmo xeito que a maior parte das aplicacións para Linux, dispón dun ficheiro de texto para a súa configuración. Trátase do ficherio:
/etc/samba/smb.conf
A sintaxe deste ficheiro é bastante sinxela xa que está dividido en seccións que se limitan a establecer o valor duns cantos parámetros e a determinar cales son os cartafoles compartidos e os seus permisos. No entanto, para facilitar a configuración de samba existe unha ferramenta chamada swat que permite, vía web, configurar a aplicación.
Posto que editando o ficheiro smb.conf se poden configurar máis de 300 parámetros, dando lugar a moitas configuracións, limitarémonos a analizar os parámetros máis relevantes.
Todas as liñas que comezan por (#) ou punto e coma (;) son liñas de comentarios e son ignoradas por samba. O arquivo smb.conf está dividido en seccións identificadas con corchetes [ ] .
Sección [global]
Na sección [global] configúranse os parámetros xerais (globais) que determinarán o comportamento xeral do servidor samba. Todos os parámetros que se omitan tomarán o valor predefinido por defecto.
- hosts allow. Permite especificar desde que direccións IPs se poderá acceder ao servizo. Ex.: Se pomos
192.168. significa todas as que empecen por 192.168. Pódense pór IP concretas. Esta limitación de acceso é similar á que tiñamos en NFS.
- hosts deny. Igual que hosts allow pero para especificar os rangos non permitidos
- security. Permite determinar o modo de compartición de recursos de samba.
- user. É a opción por defecto e indica a necesidade de que o usuario se autentique no servidor.
- share. Provoa que non se esixa ningún tipo de autenticación, polo que se amosarán todos os recursos independentemente de quen acceda.
Unha sección para cada directorio compartido
Cada vez que se comparte un cartafol, hai que crear unha sección co nome que se desexe xa que devandito nome será o nome do recurso compartido. Exemplo, se desexamos compartir o cartafol /home/samba/alumnos crearemos unha sección [alumnos] onde se configurará devandito recurso compartido cos parámetros específicos para el. Parámetros destacables:
- browseable = yes. Indica se o recurso compartido será visible cando se escanea a rede, por exemplo facendo clic en 'Os meus sitios de rede' en Windows
- create mask = 0770. Establece a máscara de creación de ficheiros, igual con directory mask para a creación de cartafoles.
- guest ok = yes.I ndica que calquera usuario sen contrasinal ten permiso de acceso
- valid users = usr1, usr2. Indica que usuarios poden acceder ao recurso.
--Arribi 13:18 15 abr 2009 (BST)