Tabla de contenidos
Resumen
Samba permite implementar un equipo Unix como servidor de archivos e impresión para máquinas DOS, Windows y OS/2. Este capítulo presenta los fundamentos de la configuración de Samba y describe los módulos de YaST que le ayudarán a configurar Samba en la red.
Samba se ha convertido en un producto muy
completo, por lo que aquí nos centramos exclusivamente en su funcionalidad.
No obstante, puede obtener información adicional en la documentación en
formato digital incluida en la distribución. Dicha documentación consta por
un lado de las páginas del manual (a las que puede acceder, por ejemplo,
introduciendo apropos samba en la línea
de comandos) y, por otro lado, de documentos y ejemplos que se encuentran en
/usr/share/doc/packages/samba siempre que haya instalado
Samba en el sistema. El subdirectorio
examples contiene un ejemplo de configuración comentado,
smb.conf.SuSE.
El paquete samba se encuentra
disponible en la versión 3. Entre las novedades de esta nueva versión cabe
destacar:
Soporte de Active Directory.
Soporte Unicode considerablemente mejorado.
Mecanismos internos de autentificación completamente revisados.
Soporte mejorado del sistema de impresión de Windows 200x y XP.
Configuración como servidor miembro en dominios Active Directory.
Adopción de dominios NT4 para posibilitar la migración de un dominio NT4 a un dominio Samba.
![]() | Migración a Samba 3 |
|---|---|
A la hora de migrar de la versión 2.x a la versión 3 de Samba, debe tener
en cuenta algunas peculiaridades. La información correspondiente se ha
recogido en un nuevo capítulo de la colección de HOWTOs de Samba. Una vez
instalado el paquete | |
Samba usa el protocolo SMB (Server Message Block) que se basa en los servicios de NetBIOS. Por la insistencia de la empresa IBM, Microsoft publicó el protocolo para que otras empresas pudieran desarrollar software para conectar a una red con dominios de Microsoft. Como Samba usa el protocolo SMB sobre TCP/IP, en todos los clientes se debe instalar el protocolo TCP/IP. Le recomendamos utilizar TCP/IP de forma exclusiva.
NetBIOS es una interfaz para programas de aplicación (Application Program Interface, API), que se diseñó para la comunicación entre ordenadores. Entre otros, ofrece un servicio de nombres (name service) mediante el cual los ordenadores se identifican entre sí. No existe ningún control centralizado para otorgar o controlar los nombres. Cada ordenador puede reservar en la red tantos nombres como quiera, mientras no se haya adelantado otro. Se puede implementar la interfaz NetBIOS sobre diferentes arquitecturas de red. Hay una implementación que se encuentra relativamente “cerca” al hardware de red llamada NetBEUI. NetBEUI es lo que se denomina frecuentemente como NetBIOS. Protocolos de red que se han implementado son NetBIOS son IPX (NetBIOS vía TCP/IP) de Novell y TCP/IP.
Los nombres de NetBIOS no tienen nada en común con aquellos asignados en el
archivo /etc/hosts o por DNS – NetBIOS es un
área de nombres completamente propio. Esto es válido también para los
nombres que se asignan en la implementación de NetBIOS mediante TCP/IP. Sin
embargo, para simplificar la administración se recomienda usar, como mínimo
para los servidores, nombres de NetBIOS equivalentes a los del DNS. Para un
servidor Samba esta es la opción por defecto.
Todos los sistemas operativos ordinarios como Mac OS X, Windows y OS/2 soportan el protocolo SMB. Los ordenadores deben tener TCP/IP instalado. Samba proporciona un cliente para las diversas versiones UNIX. En el caso de Linux, existe para SMB un módulo del kernel para el sistema de archivos que permite integrar recursos SMB a nivel del sistema en Linux.
Los servidores SMB ofrecen a los clientes espacio en disco en forma de recursos compartidos o “shares”. Un share es un directorio en el servidor con todos los subdirectorios. Este se exporta con un nombre determinado por medio del cual los clientes pueden acceder a él. El nombre del share es arbitrario, no hace falta que coincida con el nombre del directorio exportado. De la misma manera se asigna un nombre a una impresora exportada mediante el cual los clientes puedan acceder a ella.
Si quiere utilizar Samba como servidor, instale
el paquete samba. Los servicios
necesarios para Samba se inician manualmente con
el comando rcnmb start && rcsmb start y se paran
con rcsmb stop && rcnmb stop.
El archivo de configuración central de Samba es
/etc/samba/smb.conf, Este puede dividirse en dos
secciones lógicas: la sección [global] y la
[share]>. La primera sección sirve para las
configuraciones globales y la segunda determina las autorizaciones de acceso
a archivos e impresoras. Este procedimiento permite que algunos detalles de
las autorizaciones de acceso sean distintos o bien fijarlos para todo el
sistema en la sección [global], lo que se recomienda por
motivos de claridad.
Los siguientes parámetros de la sección global deben ser
definidos de acuerdo a la configuración de la red a fin de que otras
máquinas puedan acceder al servidor Samba en una red
Windows por medio de SMB.
Esta línea asigna el servidor Samba a un grupo de
trabajo. Sustituya TUX-NET por un grupo de trabajo de su
entorno de red. El servidor Samba aparece aquí con el nombre DNS a no ser que
dicho nombre haya sido asignado a otro máquina de la red. Si el nombre DNS no
está disponible, es posible definir el nombre del servidor
mediante netbiosname=MINOMBRE. Puede obtener información
adicional sobre este parámetro con man
smb.conf.
En función de este parámetro el servidor Samba decide si quiere
convertirse en un LMB (Local Master Browser) para su grupo de
trabajo. Seleccione un valor bajo para que la red de Windows existente no se
vea perturbada por un servidor Samba mal configurado. Puede encontrar más
detalles sobre este tema tan importante en los archivos
BROWSING.txt y
BROWSING-Config.txt disponibles en el
subdirectorio textdocs de la
documentación del paquete.
Si en la red no existe ningún otro servidor SMB (como un servidor Windows
NT o 2000) y desea que el servidor Samba
mantenga una lista de los sistemas disponibles en la red local,
incremente el valor de os level (por ejemplo
65) para que el servidor Samba sea elegido LMB para la red local.
A la hora de modificar este valor, tenga en cuenta cómo puede afectar el cambio al funcionamiento de una red Windows ya existente. Pruebe los cambios primero en una red aislada o en momentos poco críticos.
Si quiere integrar el servidor Samba en una
red Windows ya disponible en la que existe un servidor WINS, debe
activar el parámetro wins server. En este parámetro se
debe introducir la dirección IP del servidor WINS.
Si las máquinas Windows están conectadas a subredes separadas y han de ser
visibles entre sí, necesita un servidor WINS. Para convertir su servidor
Samba en un servidor WINS, defina la opción
wins support = Yes. Asegúrese de que este parámetro se
activa exclusivamente en un servidor Samba. Las opciones wins server y wins
support no pueden estar nunca activas simultáneamente en
smb.conf.
En los siguientes ejemplos se comparte por un lado la unidad de CD-ROM
y por otro los directorios del usuario homes
con los clientes SMB.
Para impedir el acceso libre a un CD-ROM por error, se han desactivado en este ejemplo todas las líneas correspondientes a este recurso compartido por medio de un signo de comentario (aquí punto y coma). Si desea autorizar el acceso a la unidad de CD-ROM por Samba, borre los signos de punto y coma en la primera columna.
Ejemplo 32.1. Acceso al CD-ROM
;[cdrom] ; comment = Linux CD-ROM ; path = /media/cdrom ; locking = No
[cdrom] y [comment]
La sección [cdrom] es el nombre del recurso
compartido visible para el cliente SMB. Con
[comment] se puede dar una descripción del recurso
compartido al cliente.
path = /media/cdrom
Con path se exporta el directorio
/media/cdrom.
Debido a una configuración intencionadamente restrictiva, este tipo de
recursos compartidos sólo está disponible para el usuario que se
encuentre en el sistema. Si debe estar disponible para todo el mundo,
añada otra línea guest ok = yes. Debido a las
posibilidades de lectura que ofrece, se debe tener mucho cuidado con
esta configuración y utilizarla solamente en ciertos recursos
compartidos. Se ha de tener un cuidado especial en la sección
[global].
[homes]
El recurso compartido [home] tiene un
significado especial: Si el usuario en cuestión dispone de una cuenta
válida en el servidor de archivos y de un directorio personal en el
mismo, es posible conectarse a este directorio mediante nombre y
contraseña.
Ejemplo 32.2. Recurso compartido homes
[homes] comment = Home Directories valid users = %S browseable = No read only = No create mask = 0640 directory mask = 0750
[homes]
Mientras no exista una autorización de acceso expresa con el nombre
de autorización del usuario asociado, se creará una autorización de
forma dinámica debido al recurso compartido
[homes]. El nombre de este recurso compartido será
idéntico al nombre de usuario.
valid users = %S
%S será reemplazada por el nombre concreto del
recurso compartido tras haber realizado la conexión adecuadamente.
Puesto que en el caso del recurso compartido
[homes] este siempre es idéntico al nombre de
usuario, los usuarios autorizados se limitan al dueño del directorio
de usuario. Esta es una posibilidad para permitir el acceso al dueño
solamente.
browseable = No
Con esta configuración [homes] no será
visible en la lista de recursos compartidos.
read only = No
En la configuración predeterminada, Samba deniega el permiso de
escritura en los recursos compartidos exportables, read only
= Yes. Si un directorio debe tener también permiso de
escritura, asigne el valor read only = No, que
equivale a writeable = Yes.
create mask = 0640
Los sistemas no basados en MS Windows NT no conocen el concepto de
permisos de acceso de Unix. Por lo tanto, al crear los archivos, no
pueden establecer los permisos de acceso correspondientes. El
parámetro create mask establece los
permisos de acceso que corresponden a los archivos. Esto sólo es
válido para recursos compartidos en los que se pueda escribir. En
concreto, al dueño se le permitirá leer y escribir, y a los
componentes del grupo primario del usuario sólo la lectura. Tenga en
cuenta que valid users = %S impide la
lectura aún cuando el grupo esté autorizado. Para otorgar al grupo
derechos de lectura y escritura, la línea valid
users = %S ha de ser desactivada.
El protocolo SMB viene del mundo DOS y Windows y contempla los problemas de seguridad directamente. Todos los accesos a un share se protegen con una contraseña. SMB ofrece tres posibilidades para comprobar la autorización:
En este caso cada share tiene una contraseña fija. Cada persona que conoce la contraseña tiene acceso al share.
Esta variante introduce el concepto de usuario SMB. Cada usuario tiene que darse de alta en el servidor con una contraseña propia. Después de la autentificación, el servidor puede otorgar derechos de acceso a los distintos shares exportados en función del nombre de usuario.
Samba aparenta frente a los clientes trabajar en el “User Level
Mode”, pero en realidad pasa todas las peticiones de entrada a
otro ordenador que se encarga de la autentificación. Esta configuración
requiere de un parámetro adicional (password server
=).
La decisión sobre el tipo de autentificación es algo que afecta a todo el servidor. No es posible exportar unos recursos compartidos de la configuración de un servidor en modalidad “Share Level Security” y otros en “User Level Security”. No obstante, es posible ejecutar en un sistema un servidor Samba propio para cada dirección IP configurada.
La colección de HOWTOs de Samba contiene más información al respecto. En el
caso de un sistema con varios servidores, tenga en cuenta los parámetros
interfaces y bind interfaces only.
![]() | Sugerencia |
|---|---|
Existe un programa denominado swat que permite
administrar fácilmente el servidor samba, ya que ofrece una interfaz de
web sencilla para configurarlo cómodamente. Dentro de un navegador
introduzca http://localhost:901 y entre al sistema como
root. Hay que considerar que swat se activa
también en los archivo | |