|
Director de sesión en el aula - GNU/Linux & UNIXProfesor Alejandro de la Torre |
|
Presentación
alternativa a los puntos de desarrollo.
CONCEPTOS
Samba permite operatividad entre sistemas Unix/Linux y Windows en ambos sentidos, así como entre Linux/Unix - Linux/Unix.
Aporta funcionalidades como cliente y como servidor.
Clientes y servidores se comunican usando el protocolo SMB/CIFS (Server Message Block/Common Internet File System).
Una máquina GNU/Linux corriendo samba server puede ser contemplada como una máquina con MS Windows Server (NT, 20xx) y ser explotada en la profundidad que un administrador MS Windows Server sea capaz.
Como servidor hay que distinguir entre file/print server y AD DC (Active Directory - Domain Controller).
INSTALACIÓN
Instalación desde el software disponible para la distribución.
Estructura de directorios después de la instalación desde las fuentes.
SAMBA COMO SERVIDOR
Fichero smb.conf eje del funcionamiento del servidor en sus distintos escenarios.
Estructura de smb.conf
Secciones especiales.
[global]. Parámetros globales, propios del servidor no de un recurso compartido + valores por defecto para el resto de las secciones a no ser que se redefinan en las propias secciones.
[homes]. Si un usuario registrado solicita un recurso NO DEFINIDO en smb.conf pero igual a su nombre de usuario se le da acceso a su $HOME con los atributos de la sección [homes]
[printers]. Después de pasar sin éxito las verificaciones de la sección [homes] se intenta localizar un impresora con nombre igual al recurso solicitado en el fichero de impresoras habilitadas (normalmente /etc/printcap) y si se encuentra se asigna al cliente con los atributos de uso descritos en esta sección. Colisiona con [homes] ya que a igualdad de nombres de recurso se asigna el $HOME
Parámetro: Los parámetros de compartición tienen una sintaxis cerrada, se construyen de acuerdo al formato <parámetro> = <valor>.
Variables de sustitución (ejemplo: path = /tmp/%u es interpretado como path = /tmp/john). Consultar la tabla completa en el capítulo VARIABLE SUBSTITUTIONS de este enlace
Ejecución del servidor: nmbd + smbd + winbindd (sin la existencia de smb.conf en la ubicación adecuada no funcionan. Posibles ubicaciones: $PREFIX/lib/smb.conf, /etc/samba, opción -s de smbd y nmbd para ubicación específica). En http://asir.sudo.es/export/smb.conf hay uno de referencia para comenzar.
smbd: Gestiona el acceso a los recursos compartidos (directorios, ficheros e impresoras) de acuerdo a las pautas establecidas en smb.conf. La comunicación cliente-servidor se hace vía TCP/IP y levantando un proceso hijo por cliente.
nmbd: Mantiene disponible el servicio de nombres utilizado por NetBios. Responde a las peticiones de Windows Network Neighborhood. Hace las funciones de WINS.
winbindd: Proporciona servicios para el acceso a NSS (Name Service Switch) en sistemas GNU/Linux-Unix. En el contexto GNU/Linux - Unix, NSS es el servicio que permite establecer el orden de consulta y la forma de hacerlo a las bases de datos que guardan los binomios usuario-contraseña (/etc/passwd, ldap, /etc/group/ ) y Nombre-IP (DNS, /etc/hosts,..).
SAMBA COMO CLIENTE
Conjunto de utilidades que permiten desde Unix-GNU/Linux el uso de los recursos compartidos por un servidor samba o un servidor "MS Windows"
Las más relevantes:
mount.cifs / smbmount
umount.cifs / smbumount
smbclient
SWAT (desactualizado) y sus alternativas actuales (apt-cahe search samba)
Administración y documentación disponibles vía http.
Forma parte del producto básico hasta la
versión 3.
Podría no formar parte de la instalación de samba-server desde el repositorio de la distribución Linux. Puede estar disponible como componente independiente.
Está construido para ser gestionado a través del superservidor inetd o xinetd.
http://servidor:901
EJEMPLOS DE FUNCIONAMIENTO
Atención a:
Caso particular del parámetro passdb backend: sistema de almacenamiento de las parejas usuarios/contraseña.
passdb backend = smbpasswd
Las parejas de almacenan en un fichero plano (smb passwd file=) con las contraseñas encriptadas.
passdb backend = tdbsam
Las parejas se almacenan en un una tdb (Trivial DataBase) referenciada en el momento de la compilación del producto (http://asir.sudo.es/docnux/samba/Samba3-HOWTO/install.html#tdbdocs)
Alta de usuarios: Comando smbpasswd. Los usuarios tienen que existir previamente en el sistema (/etc/passwd).
Ejemplo 1: Cliente windows, Servidor samba.
Conectar una unidad de red apuntando al directorio $HOME de un usuario registrado en el sistema donde reside el servidor samba.
Ejemplo 2: Cliente samba, Servidor windows.
Acceder y manipular con smbclient el contenido de una carpeta de nombre c:\common. Esta carpeta estará restringida y solo podrá ser accedida por un usuario identificado bajo el esquema USUARIO/CONTRASEÑA.
Montar en /mnt el contenido de la carpeta c:\common anterior.
Ejemplo 3: Cliente samba, Servidor samba.
Montar en /mnt el directorio $HOME que un usuario registrado posee en un servidor distinto al que se encuentra conectado en un momento determinado.
ADEMAS DE LOS DEMONIOS HAY MAS COMANDOS