
Aunque no puede funcionar como controlador primario de dominio (PDC) de Active Directory, un servidor Samba puede configurarse para que funcione como un controlador de dominio al estilo de Windows NT4. Una de las principales ventajas de esta configuración es la capacidad de centralizar las credenciales de los usuarios y las máquinas. Samba también puede usar varios backends para almacenar la información de los usuarios.
Esta sección cubre la configuración de Samba como controlador primario de dominio (PDC) usando el backend predeterminado smbpasswd.
Instale Samba y libpam-smbpass para sincronizar las cuentas de usuario introduciendo lo siguiente en una terminal:
sudo apt-get install samba libpam-smbpass
Luego, configure Samba editando
/etc/samba/smb.conf
. El modo seguro debería configurarse usuario, y el grupo de trabajo debería relacionarse apropiadamente con la organización:workgroup = EXAMPLE ... security = user
En la sección comentada “Dominios” añada o descomente lo siguiente:
domain logons = yes logon path = \\%N\%U\profile logon drive = H: logon home = \\%N\%U logon script = logon.cmd add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u
domain logons: proporciona el servicio netlogon, lo que hace que Samba actúe como un controlador de dominio.
logon path: coloca el perfil Windows del usuario dentro de su directorio personal. También es posible configurar un recurso compartido [profiles] que sitúe todos los perfiles bajo un único directorio.
logon drive: especifica la ruta local del directorio home.
logon home: especifica la localización del directorio home.
logon script: determina el script que se ejecutará localmente cuando el usuario se conecte. El script debe colocarse dentro del recurso compartido [netlogon].
add machine script: un script que creará automáticamente una cuenta de máquina de confianza (Machine Trust Account), necesaria para que un puesto de trabajo se una al dominio.
En este ejemplo, el grupo de equipos necesitará ser creado usando la utilidad addgroup. Vea Básicos para detalles.
Note
If Roaming Profiles will not be used, leave the logon home and logon path options commented.
Descomente el recurso[homes] para que permitir la correspondencia con el logon home:
[homes] comment = Home Directories browseable = no read only = no create mask = 0700 directory mask = 0700 valid users = %S
When configured as a domain controller, a [netlogon] share needs to be configured. To enable the share, uncomment:
[netlogon] comment = Network Logon Service path = /srv/samba/netlogon guest ok = yes read only = yes share modes = no
Note
The original netlogon share path is
/home/samba/netlogon
, but according to the Filesystem Hierarchy Standard (FHS), /srv is the correct location for site-specific data provided by the system.Ahora cree el directorio
netlogon
y un archivologon.cmd
script vacío (por ahora)sudo mkdir -p /srv/samba/netlogon sudo touch /srv/samba/netlogon/logon.cmd
Any normal Windows logon script commands can be entered in
logon.cmd
to customize the client's environment.With root being disabled by default, in order to join a workstation to the domain, a system group must be mapped to the Windows Domain Admins group. Using the net utility, from a terminal enter:
sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
Note
Change sysadmin to the preferred group. The user used to join the domain needs to be a member of the sysadmin group, as well as a member of the system admin group. The admin group allows sudo use.
Finalmente, reinicie Samba para activar el nuevo controlador de dominio:
sudo /etc/init.d/samba restart
Ahora es posible unirse a los clientes de Windows del dominio de la misma manera que unirse a un dominio NT4 funcionando en un servidor Windows.
With a Primary Domain Controller (PDC) on the network, it is best to have a Backup Domain Controller (BDC) as well. This will allow clients to authenticate in case the PDC becomes unavailable.
When configuring Samba as a BDC, there must be a way to sync account information with the PDC. There are multiple ways of accomplishing this, such as scp, rsync, or by using LDAP as the passdb backend.
Using LDAP is the most robust way to sync account information, because both domain controllers can use the same information in real time. However, setting up a LDAP server may be overly complicated for a small number of user and computer accounts. See Samba LDAP page for details.
En primer lugar, instale samba y libpam-smbpass. En una terminal, teclee:
sudo apt-get install samba libpam-smbpass
Ahora, edite
/etc/samba/smb.conf
y descomente las siguientes líneas en la sección [global]:workgroup = EXAMPLE ... security = user
En las líneas Domains comentadas, descomente o añada:
domain logons = yes domain master = no
Asegúrese de que un usuario tiene permisos de lectura sobre
/var/lib/samba
. Por ejemplo, para permitir que los usuarios del grupo admin puedan usar scp sobre los archivos, introduzca:sudo chgrp -R admin /var/lib/samba
Después, sincronice las cuentas de usuario usando scp para copiar el directorio
/var/lib/samba
desde el PDC:sudo scp -r username@pdc:/var/lib/samba /var/lib
Note
Replace username with a valid username and pdc with the hostname or IP Address of the actual PDC.
Finalmente, reinicie samba:
sudo /etc/init.d/samba restart
Test that the Backup Domain controller is working by stopping the Samba daemon on the PDC, then trying to login to a Windows client joined to the domain.
If the logon home option has been configured as a directory on the PDC, and the PDC becomes unavailable, access to the user's Home drive will also be unavailable. For this reason, it is best to configure the logon home to reside on a separate file server from the PDC and BDC.
Para una configuración más detallada de Samba, consulte la colección de HOWTOs de Samba.
La guía también está disponible en formato impreso.
Usando Samba, de O'Reilly, también es una buena referencia.
Chapter 4 of the Samba HOWTO Collection explains setting up a Primary Domain Controller.
Chapter 5 of the Samba HOWTO Collection explains setting up a Backup Domain Controller.