Según la definición que podemos encontrar en Wikipedia Samba es:
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.
Instalar Samba
Primero que nada instalamos samba ejecutando en un terminal:
La configuración de Samba se logra editando un solo archivo, accesible en /etc/samba/smb.conf
Configurar Samba
Modificar el grupo de trabajo
Abrimos el archivo de configuración con:
Y buscamos la línea que contenga “workgroup” y ponemos el nombre del grupo de trabajo que queremos, ejemplo: “workgroup = gruposamba“
Agregar usuarios a samba
En el siguiente ejemplo, vamos agregar un usuario de nombre “jesus” al grupo de usuarios “users“.
Puedes agregar tantos usuarios necesites utilizando el mismo procedimiento.
Activa una contraseña para el usuario de jesus en la base de datos de los usuarios de Linux.
Si el usuario jesus no va tener permiso para firmarse en sistema de Linux, bríncate este paso:
Ahora agregamos el usuario de linux a la base de datos de Samba
Listo
.
Agregar una carpeta para compartir
Primero debemos crear una carpeta con permisos, por ejemplo:
$ sudo chmod 555 /home/public
Luego abrimos el archivo /etc/samba/smb.conf para modificarlo:
Y le agregamos, al final, algo como esto:
[public]
comment = Cosas publicas
path = /home/public
public = yes
writable = no
El anterior ejemplo es la configuración mas simple, con samba se puede hacer varias configuraciones, pero en general todas debe de seguir el siguiente estándar:
[Lo_que_sea]
path = /cualquier/ruta/que/desee/compartir
comment = Comentario que se le ocurra
El volumen puede utilizar cualquiera de las siguientes opciones:
| Opción | Descripción |
|---|---|
| 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 |
En el siguiente ejemplo se compartirá a través de Samba el recurso denominado ftp, el cual está localizado en el directorio /home/ftp/pub del disco duro. Se permitirá el acceso a cualquiera pero será un recurso de solo lectura salvo para los usuarios administrador y fulano. Todo directorio nuevo que sea creado en su interior tendrá permiso 755 y todo fichero que sea puesto en su interior tendrá permiso 644.
[ftp]
comment = Directorio del servidor FTP
path = /home/ftp/pub
guest ok = Yes
read only = Yes
write list = fulano, administrador
directory mask = 0755
create mask = 0644
Iniciar, detener, reiniciar, recargar servidor samba
Iniciar
Detener
Reiniciar
Recargar
Comprobar archivo de configuración
Para probar la configuración, existe un programa llamado TESTPARM que lee el archivo de configuración y reporta cualquier error de sintaxis. Cualquier parámetro de configuración aún no establecido será ajustado a su valor por defecto. Recuerde que su archivo de configuración puede estar sintácticamente correcto pero no apropiado para su uso, por ejemplo, si no creamos la carpeta “publico” en /home/ testparm EN NINGÚN CASO devolverá código de error.
Para poder usar este programa solo se debe de ejecutar en un terminal el comando testparm.
Usar Samba
Desde Linux
smb://ip_o_nombre_del_equipo
o
smbclient //ip_o_nombre_del_equipo
Desde Windows
\ip_o_nombre_del_equipo
Puertos que usa samba
Si no logra conectar desde un equipo Windows lo más probable es que el firewall tenga los puertos bloqueados; los puertos que samba utiliza son:
- Puerto 135/TCP – usado por el servicio smbd
- Puerto 137/UDP – usado por el servicio nmbd
- Puerto 138/UDP – usado por el servicio nmbd
- Puerto 139/TCP – usado por el servicio smbd
- Puerto 445/TCP – usado por el servicio smbd
Herramienta gráfica para samba
Instalar:
Trackbacks /
Pingbacks