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 sistemaEl 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 -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