Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.
Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.
Configuraremos samba en nuestro servidor y empezamos instalando
# aptitude install samba samba-common smbclient samba-doc smbfsQue es lo que estamos instalando?
– samba: es el programa servidor
– samba-common: son los archivos utilizados por samba (tanto servidor como cliente)
– smbclient: es el programa cliente
– samba-doc: documentación de Samba
– smbfs: comandos de Samba
El directorio donde se aloja los archivos de configuración es
# /etc/sambaEl archivo de configuración es:
# /etc/samba/smb.confEn este archivo modificamos la línea que dice
# workgroup = nombre_del_grupo_de_trabajo # netbios name = nombre_del_equipo # server string = Servidor Samba ( comentario )Ejemplo comparticiones
[ventas] writeable = yes valid users = fulano, sultano, mengano create mode = 777 path = /home/ventas directory mode = 777 [soporte] valid users = mengano, sultano, jefe writeable = yes create mode = 777 path = /home/soporte directory mode = 777Para dar de alta usuarios en samba primero hay que dar de alta el usuario en el sistema
#useradd user1Y luego damos de alta el usuario en samba
#smbpasswd -a user1Sintaxis smbpasswd
-a agregar
-x eliminar
-d desactivar usuario
-e activar usuario
opciones de comparticiones
guest ok Define si ser permitirá el acceso como usuario invitado. El valor puede ser Yes o No.
public Es un equivalente del parámetro guest ok, es decir define si ser permitirá el acceso como usuario invitado. El valor puede ser Yes o No.
browseable Define si se permitirá mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No.
writable Define si ser permitirá la escritura. Es el parámetro contrario de read only. El valor puede ser Yes o No. Ejemplos: «writable = Yes» es lo mismo que «read only = No». Obviamente «writable = No» es lo mismo que «read only = Yes»
valid users Define que usuarios o grupos pueden acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores
write list Define que usuarios o grupos pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores admin
users Define que usuarios o grupos pueden acceder con permisos administrativos para el recurso. Es decir, podrán acceder hacia el recurso realizando todas las operaciones como super-usuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores directory
mask Es lo mismo que directory mode. Define que permiso en el sistema tendrán los subdirectorios creados dentro del recurso. Ejemplos: 1777 create mask Define que permiso en el sistema tendrán los nuevos ficheros creados dentro del recurso. Ejemplo: 0644
comandos para usar samba desde consola
# smbclient -L \\192.168.1.205 -U ( permiso listar compartidos )# aptitude install smbfs # smbmount //192.168.1.205/ventas /mnt -o username=permiso password=permiso ( conectarte a otra maquina )
# smbumount /mnt ( desconectar de la maquina remota )