Una de las consideraciones más importantes a la hora de configurar Samba es la selección del nivel de seguridad.
Desde la perspectiva de un cliente, Samba ofrece dos modos de seguridad, denominados share y user, emulando exactamente las dos opciones de SMB que veíamos en la “El protocolo SMB”:
Modo Share. En modo share, cada vez que un cliente quiere utilizar un recurso ofrecido por Samba, debe suministrar una contraseña de acceso asociada a dicho recurso.
Modo User. En modo user, el cliente debe establecer en primer lugar una sesión con el servidor Samba, para lo cual le suministra un nombre de usuario y una contraseña. Una vez Samba valida al usuario, el cliente obtiene permiso para acceder a los recursos ofrecidos por Samba.
En cualquiera de ambos, Samba tiene que asociar un usuario del sistema Unix en el que se ejecuta Samba con la conexión realizada por el cliente. Este usuario es el utilizado a la hora de comprobar los permisos de acceso a los ficheros y directorios que el sistema Unix/Samba comparte en la red.
La selección del nivel de seguridad se realiza con la opción
security
, la cual pertenece a la sección
[global]
. Sus alternativas son las siguientes:
security = share | user | server | domain
Desde la perspectiva del cliente, el nivel share
corresponde al modo de seguridad
share y los niveles
user
, server
y
domain
corresponden todos ellos al modo de
seguridad user. A continuación se
describen someramente los cuatro niveles.
El nivel share
es utilizado normalmente en
entornos en los cuales no existe un dominio Windows NT o 2000. En
este caso, se asocia una contraseña por cada recurso, que debe
proporcionarse correctamente desde el cliente cuando se pide la
conexión.
En el nivel user
, el encargado de validar al
usuario es el sistema Unix donde Samba se ejecuta. La validación es
idéntica a la que se realizaría si el usuario iniciase una sesión
local en el ordenador Unix. Para que este método sea aplicable, es
necesario que existan los mismos usuarios y con idénticas
contraseñas en los sistemas Windows y en el sistema Unix donde Samba
se ejecuta.
Desde la aparición de sistemas Windows como Windows 98, Windows NT 4.0 (a partir del Service Pack 3), Windows 2000 y posteriores, la utilización de este nivel se ha vuelto complicada, ya que dichos sistemas Windows transmiten las contraseñas cifradas por la red. Puesto que Samba no posee acceso a las contraseñas cifradas por Windows, el sistema Unix ya no puede realizar la validación. Existen dos métodos para resolver este problema. El primero consiste en modificar el registro del sistema Windows para permitir la transferencia de contraseñas sin cifrar por la red. El segundo método obliga a utilizar una tabla de contraseñas adicional en el sistema Unix, en la cual se almacenan las contraseñas cifradas de los usuarios Windows.
En el nivel server
, Samba delega la validación
del usuario en otro ordenador, normalmente un sistema Windows
2000. Cuando un cliente intenta iniciar una sesión con Samba, éste
último intenta iniciar una sesión en el ordenador en el cual ha
delegado la validación con la misma acreditación
(usuario+contraseña) recibidos del cliente. Si la sesión realizada
por Samba es satisfactoria, entonces la solicitud del cliente es
aceptada. Este método aporta la ventaja de no necesitar que las
contraseñas se mantengan sincronizadas entre los sistemas Windows y
Unix, ya que la contraseña Unix no es utilizada en el proceso de
validación. Adicionalmente, no hay inconveniente en utilizar
contraseñas cifradas, ya que la validación la realiza un sistema
Windows 2000.
Por último, existe la posibilidad de utilizar el nivel
domain
. Este nivel es similar al nivel
server
, aunque en este caso el ordenador en el
que se delega la validación debe ser un DC, o una lista de DCs. La
ventaja de este método estriba en que el ordenador Samba pasa a ser
un verdadero miembro del dominio W2000, lo que implica, por ejemplo,
que puedan utilizarse las relaciones de confianza en las que
participa el dominio W2000. Esto significa, en pocas palabras, que
usuarios pertenecientes a otros dominios en los que los DCs confían
son conocidos por Samba.
Dadas las ventajas del nivel domain
, este
documento se centra fundamentalmente en este método. Para detalles
específicos de los otros niveles, se recomienda la consulta de la
documentación original de Samba.