Configuración de Samba
Vamos a configurar Samba como controlador del dominio BEZMI.IES.
Controlador de dominio
El fichero /etc/samba.smb.conf
workgroup = BEZMI.IES security = user server string = Servidor Samba %v netbiosname = CARONTE enable privileges = yes encrypt passwords = Yes null passwords = Yes passwd program = /usr/sbin/smbldap-passwd "%u" username map = /etc/samba/smbusers guest account = nobody map to guest = never map acl inherit = Yes passdb backend = ldapsam:ldap://localhost ### kerberos realm = BEZMI.IES kerberos method = secrets and keytab ### logs log level = 2 passdb:3 auth:5 winbind:3 log file = /var/log/samba/log.%m max log size = 150 ### Dominio domain master= yes logon script = login.bat ; logon script = %U.bat domain logons = Yes ; logon path = \\%L\%U\profile logon path = logon drive = U: logon home = \\%N\%U wins support=yes preferred master = Yes os level=99 client use spnego = yes client schannel = no ##### Red interfaces = lo eth0 192.168.10.1/24 bind interfaces only = yes hosts allow = 192.168.10. 127. time server = Yes ### Usuarios add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" add machine script = /usr/sbin/smbldap-useradd -W "%u" admin users = root Administrator ### LDAP copnfig ldap admin dn = cn=root,dc=bezmi,dc=es ldap passwd sync = yes ldap suffix = dc=bezmi,dc=es ldap user suffix = ou=People ldap machine suffix = ou=Computers ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ; ldap filter = (&(uid=%u)(objectclass=sambaSamAccount)) ldapsam:editposix = yes idmap_ldb:use rfc2307 = Yes ldap ssl = off ldap delete dn = yes ; ldapsam:trusted=yes ### Winbind config. ; winbind separator = + winbind cache time = 15 winbind enum users = yes winbind enum groups = yes template homedir = /home/samba/%D/%U template shell = /bin/bash winbind use default domain = false allow trusted domains = yes idmap config * : range = 16777216-33554431 winbind offline logon = false preserve case = yes ### Impresión printcap name = CUPS printing = cups printing = cups load printers = Yes show add printer wizard = Yes max print jobs = 100 lpq cache time = 20 use client driver = no disable spoolss = No max reported print jobs = 1000
Miembro del dominio
Si queremos un miembro de dominio en lugar de un controlador (DC) eliminamos
security = user domain master= yes domain logons = Yes
y añadimos
security = domain
Lanzar el servidor Samba
Para lanzar el servicio samba tendremos que lanzar tres servicios distitos
service nmb start service smb start service winbind start
Para que se inicie automáticamente en el arranque ejecutamos:
chkconfig nmbd on chkconfig smbd on chkconfig smbd on
Proceso de post-configuración
Hay una serie de pasos que realizar una vez que hemos configurado samba:
Carpetas de Samba
En primero lugar si no está creado, deberíamos crear la carpeta /var/lib/samba/private/
Obtener los SID del dominio y local.
net getdomainsid SID for domain BEZMI.IES is: S-1-5-21-550162020-3329739567-370643822 net getlocalsid SID for domain CARONTE is: S-1-5-21-1865264539-1349440133-497904111
Más tarde tendremos que usar estos valores para configurar smbldap-tools.
Guardar la contraseña para acceso a LDAP
smbpasswd -w claveldap
Registro de samba
El registro de incidencias de samba lo encontramos en la carperta
/var/log/samba
Este es uno de los puntos útiles para detectar errores de configuración y funcionamiento
Smbldap-tools es un conjunto de herramientas que permiten gestionar los usuarios almacenados en LDAP, tanto usuarios Samba como usuarios del sistema. El directorio de configuración es /etc/smbldap, donde se almacenan los ficheros smbldap.conf que contiene la configuración global y smbldap_bind.conf que contiene los datos de acceso.
Con la utilidad smbldap-config podemos crear el fichero de configuración.
El fichero /etc/smbldap/smbldap.conf
SID="S-1-5-21-550162020-3329739567-370643822" sambaDomain="BEZMI.IES" slavePort="389" masterPort="389" ldapSSL="0" verify="require" cafile="/etc/pki/CA/cacert.pem" clientcert="/etc/pki/tls/caronte.bezmi.ies.pem/caronte.bezmi.ies.pem" clientkey="/etc/pki/tls/caronte.bezmi.ies.pem/caronte.bezmi.ies.key" suffix="dc=bezmi.ies,dc=es" usersdn="ou=People,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Group,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}" scope="sub" hash_encrypt="SSHA" crypt_salt_format="%s" userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" userSmbHome="\\CARONTE\%U" userProfile="\\CARONTE\profiles\%U" userHomeDrive="V:" userScript="logon.bat" mailDomain="bez.ies" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd"
Los ficheros de certificado no son necesarios si no vamos a utilizar TLS al comunicar con el servidor LDAP.
El fichero /etc/smbldap/smbldap_bind.conf
Este fichero simplemente contiene los datos de conexión a LDAP como administrador.
masterDN="cn=root,dc=bezmi,dc=es" masterPw="claveldap"
Al contener la clave del administrador LDAP deberemos restringir su permiso de lectura sólo a root.
La gestión de usuarios no se podrá realizar hasta que tengamos el servidor LDAP en funcionamiento.
Por otro lado, si observamos el fichero /etc/smbldap/smbldap.conf, veremos algunos de los datos predeterminados para dar de alta un usuario.
Agregar usuarios
Agregar usuarios Unix
smbldap-useradd usuario
Agregar usuarios Samba
smbldap-useradd -a usuario
Agregar cuenta de máquina
smbldap-useradd -W maquina$
Eliminar usuario
smbldap-userdel usuario
Cambiar una contraseña
smbldap-passwd usuario
Otras opciones
smbldap-grouplist
smbldap-useradd
smbldap-userlist
smbldap-groupadd
smbldap-groupmod
smbldap-populate
smbldap-userdel
smbldap-usermod
smbldap-groupdel
smbldap-groupshow
smbldap-userinfo
smbldap-usershow