2. 1. INTRODUCCIÓN:
• Surgimiento
• Concepto
• Utilidades
• Componentes
2. INSTALACIÓN
3. CONFIGURACIÓN
• Inicio del servicio
• Resolución de nombres
• Archivo smb.conf
• Ejemplos
• Opciones de recursos
• General
• Ver estado
• Usuarios
• Acceso desde windows.
SAMBA
3. 1- Introducción:
Surgimiento
• El proyecto Samba nació en 1991, en Australia
• Es creación de Andrew Tridgell, a partir de la necesidad de
montar un espacio en disco en su computadora para un servidor
UNIX.
• Ese código fue puesto a disposición públicamente por Tridgell en
1992 (aunque dejado de lado en un principio y retomado después
de un tiempo).
• En un principio Samba tomó el nombre de smbserver, pero
tuvieron que cambiarlo por problemas con una marca registrada.
4. • Samba es una suite de aplicaciones Unix que habla el
protocolo SMB (Server Message Block).
• Muchos sistemas operativos, incluídos Windows y OS/2, usan
SMB para operaciones de red cliente-servidor. Mediante el
soporte de este protocolo, Samba permite a los servidores
Unix entrar en acción, comunicando con el mismo protocolo de
red que los productos de Microsoft Windows.
• Es decir, Samba puede ayudar a las máquinas Windows y Unix
a coexistir en la misma red.
1- Introducción:
Concepto
6. • La suite Samba gira alrededor de un par de demonios Unix que
permiten la compartición de recursos entre los clientes SMB de una
red.
• Estos demonios son:
smbd: Permite la compartición de archivos e impresoras sobre
una red SMB y proporciona autentificación y autorización de
acceso para clientes SMB.
nmbd: Soporta el servicio de nombres NetBIOS y WINS, que es
una implementación de Microsoft del servicio de nombres
NetBIOS (NBNS). Este demonio también ayuda añadiendo la
posibilidad de navegar por la red.
1- Introducción:
Concepto
7. Una máquina Unix con Samba puede enmascararse como servidor
en una red Microsoft y ofrecer los siguientes servicios:
• Compartir uno o más sistemas de archivos.
• Compartir impresoras, instaladas tanto en el servidor como en los
clientes.
• Ayudar a los clientes, con visualizador de Clientes de Red.
• Autentificar clientes logueándose contra un dominio Windows.
• Proporcionar o asistir con un servidor de resolución de nombres
WINS.
1- Introducción:
Utilidades
10. • Samba contiene muchos programas que prestan distintos servicios pero que tienen
propósitos relacionados:
nmbd: Es un simple servidor de nombres que suministra la funcionalidad de
WINS. Este demonio espera peticiones del servidor de nombres y proporciona
la dirección IP apropiada cuando se le requiere. También provee una lista de
búsqueda para el entorno de red y participa en la elección de búsqueda.
smbd: maneja los recursos compartidos entre el servidor Samba y sus
clientes. Provee los servicios de servidor de archivos, impresión y búsqueda a
los clientes SMB, maneja todas las notificaciones entre el servidor Samba y la
red de clientes. Es también el responsable de la autentificación de usuarios,
bloqueo de recursos y compartición de datos a través del protocolo SMB.
winbind: se utiliza junto con el servicio de nombres para obtener la información
de los usuarios y grupos desde un servidor Windows NT y permitir a Samba
autorizar a los usuarios dentro de un servidor Windows NT/2000.
1- Introducción:
Componentes
11. • Samba posee además un conjunto de pequeñas herramientas para
consola, a continuación se mencionan las más significativas:
findsmb: realiza búsquedas de ordenadores en la red local que
respondan al protocolo SMB e imprime información sobre los mismos.
make_smbcodepage: cuando se trabaja con la característica de
internacionalización de Samba para informarle sobre cómo convertir entre
mayúsculas y minúsculas.
net: puede ser utilizado para realizar una administración remota de los
servidores.
nmblookup: realiza búsquedas de nombres sobre NBT para encontrar
direcciones IP de ordenadores cuando se da su nombre de máquina.
1- Introducción:
Componentes
12. pbdedit: ayuda en el manejo de las cuentas de usuario
almacenadas en las bases de datos SAM.
smbclient: Un cliente Unix similar a un cliente ftp, que se
puede utilizar para conectarse a los recursos compartidos SMB
y operar con ellos.
smbcontrol: Una simple utilidad de administración que envía
mensajes a nmbd o smbd.
smbgroupedit: Una orden que se puede utilizar para definir
mapeos entre los grupos de Windows NT y los de Unix.
1- Introducción:
Componentes
13. smbpasswd: un programa que permite a un administrador cambiar
la clave utilizada por Samba.
smbstatus: reporta las conexiones de red realizadas a los
recursos compartidos en el servidor Samba actualmente.
testparm: comprueba el archivo de configuración de Samba.
testprns: comprueba si las impresoras en la máquina Samba
están reconocidas por el demonio smbd.
wbinfo: utilidad utilizada para realizar peticiones al demonio
winbind.
1- Introducción:
Componentes
14. • Puertos utilizados
• Es necesario abrir los puertos 135 al 139 por TCP y UDP y el
puerto 445 por TCP.
• Archivos y demonios involucrados
• archivo de configuración: /etc/samba/smb.conf
• archivo de registro: /var/log
• directorio para bloqueos: /var/lock/samba
1- Introducción:
Componentes
15. • Para instalar SAMBA es necesario ejecutar en la shell:
sudo aptitude install samba samba-common smbclient samba-doc smbfs
2- Instalación:
16. 2- Instalación:
samba-common: proporciona los archivos necesarios para el
servidor y los paquetes cliente de Samba.
smbclient : es un programa que funciona de modo muy parecido
a ftp. Permite intercambiar ficheros con comandos
como get y put con servidores SMB.
samba-doc: proporciona los archivos de documentación para
el servidor y los paquetes cliente de Samba.
Instala manuales.
smbfs: Es un montaje del sistema de archivos SMB para Linux
17. • Para utilizar samba, se deben iniciar los servicios nmb y smb.
Para que inicien automáticamente junto con el sistema, utilizar
los dos siguientes comandos:
• chkconfig nmb on
• chkconfig smb on
• Para detener, iniciar, recargar o reiniciar el servicio en el
momento, ejecutar:
• Iniciar: service smbd start
• Detener: service smbd stop
• Reiniciar: service smbd restart
• Recargar: service smbd reload
3- Configuración:
Inicio del servicio
18. • El fichero /etc/samba/lmhosts (lmhosts es acrónimo de LAN
Manager hosts) es usado para resolver nombres a direcciones
IP en el sistema.
• Es necesario empezar resolviendo de manera local los
nombres NetBIOS, asociándolos con las direcciones IP
correspondientes.
• Se debe editar el archivo /etc/samba/lmhosts
• vim /etc/samba/lmhosts
3- Configuración:
Resolución de nombres
19. • Por defecto, generalmente el archivo contiene:
• 127.0.0.1 localhost
• Como mínimo debe definirse el nombre del anfitrión del
servidor Samba, junto con su correspondiente dirección IP:
• 127.0.0.1 localhost
192.168.70.1 servidor
3- Configuración:
Resolución de nombres
20. • Archivo de configuración: /etc/smb.conf.
• Se divide en secciones:
• "global": define variables de acción global sobre todos los
recursos compartidos.
• "printers": define la configuración general de impresoras.
• "homes": permite a un usuario, y sólo a él, acceder su
directorio propio en la máquina UNIX.
3- Configuración:
Archivo smb.conf
21. • Se muestra un ejemplo que permite a usuarios Windows
acceder sus directorios propios en la máquina UNIX y usar
libremente un directorio temporal en la máquina UNIX.
; /etc/smb.conf
;
[global]
guest account = guest
log file = /var/log/samba/%m.log
lock directory = /var/lock/samba
share modes = yes
3- Configuración:
Ejemplo 1
22. • Ejemplo. continuación...
[homes]
comment = Directorios propios
browseable = no
read only = no
create mode = 0755
[temporal]
comment = Espacio para archivos temporales
path = /tmp
read only = no
public = yes
3- Configuración:
Ejemplo 1…
23. • Ejemplo: compartir un directorio público con permisos de
escritura:
[publico]
comment = Directorio público
path = /home/publico
public = yes
writable = yes
3- Configuración:
Ejemplo 2
24. • Ejemplo: compartir un directorio que sea legible por todo
público pero sólo modificable por integrantes del grupo
"tecnicos":
[tecnopub]
comment = Directorio Público del grupo Técnicos
path = /home/tecnopub
public = yes
writable = yes
printable = no
write list = @tecnicos
3- Configuración:
Ejemplo 3
25. • Opciones para un recurso a compartir:
• guest ok: Define si se 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”.
3- Configuración:
Opciones de recursos
26. • Continuación…
• 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
3- Configuración:
Opciones de recursos…
27. • Continuación…
• 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
3- Configuración:
Opciones de recursos…
28. • Algunas configuraciones importantes:
• Permitir acceso desde una subred:
• hosts allow = 192.168.0. localhost
• Definir el grupo de trabajo:
• workgroup = grupo de trabajo
• Especificar desde qué segmentos de red escuchara
peticiones el servidor Samba, cualquier otra interfaz no listada
aquí será ignorada
• Ejemplo: interfaces = lo eth0 192.168.1.1/24 10.10.1.1
3- Configuración:
Opciones generales
29. • Continuación…
• Nombre del servidor:
• netbios name = servidor
• Ocultar archivos ocultos:
• hide dot files = Yes
3- Configuración:
General
30. • Verificar la configuración de Samba
• Para verificar errores de sintaxis en el archivo de
configuración de Samba, podemos utilizar, desde la shell, el
comando testparm
• Los parámetros no establecidos explícitamente en el archivo
de configuración, testparm los inicializará con valores por
defecto.
•
Verificar conexiones
• El comando smbstatus es utilizado para verificar las
conexiones establecidas con el servidor samba.
3- Configuración:
Ver estado
31. • Se deben definir los usuarios de samba que harán uso de los
recursos mencionados.
• Agregar usuario al sistema:
• useradd usuario
• Dado que el usuario que accede a los directorios compartidos
de samba, generalmente no tiene acceso al interprete de
comandos, se suelen crear los usuario con:
• useradd -s /sbin/nologin usuario
3- Configuración:
Usuarios
32. • Para agregarle password:
• passwd usuario
• Se debe Indicar que el usuario pertenece al grupo de usuario
de Samba y le creamos su contraseña para acceder a éste:
• smbpasswd -a usuario
3- Configuración:
Usuarios
33. • Una vez compartido un directorio en un servidor Linux
mediante Samba, para acceder a este desde un cliente
Windows, se puede seguir alguno de los siguientes método:
• acceder desde el explorador o ejecutar:
<máquina_UNIX><nombre_recurso>
• montar el recurso en una unidad, pudiendo ser mediante la
interfaz gráfica o por consola. Para este ejecutar: net use
<UNIDAD>: <máquina_UNIX><nombre_recurso>
• Luego se accede al recurso desde la unidad asignada.
3- Configuración:
Acceso desde windows