Servidor Samba con LDAP NSS – PAM en Debian

De WikiSalud
Revisión a fecha de 10:52 22 abr 2016; Alortiz (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
Esta guía se mantiene por motivos de consulta.
Una versión más nueva de ella se encuentra en Servidor Samba con LDAP NSS – PAM en Debian Wheezy
Podría interesarle revisar Migrando un dominio Samba NT4 a Samba Active Directory

Contenido

Resumen

Instalación y configuración de un PDC sobre Debian usando SAMBA, LDAP como almacén de credenciales y NSS y PAM para autenticación-autorización

Introducción

El presente manual es un guía adaptada de http://www.tuxjm.net/docs/samba+ldap-como/html-multiples , con algunas mejoras sustanciales para llevar a cabo la configuración de LDAP, cuyo método allí descrito es obsoleto respecto al nuevo tipo de configuración que se usa para openLDAP. Se buscado mejorar en la medida de lo posible la configuración de Samba, se realizarán algunos cambios al servidor Hemos suprimido la parte de la configuración PAM en nuestro servidor, porque no es una necesidad para nosotros.

Procedimiento

Primero pasos. Servidor.

Primero, verificar el cliente de red del servidor. Configurarlo en modo estático. Una entrada en el DNS que apunte hacia el servidor PDC podría acelerar las operaciones SMB.

Cree algún directorio de trabajo en el servidor para realizar todos los pasos. Se han intentado que esta sea una guía Copy and Paste.

Cuide que su archivo sources.list quede de la siguiente forma. Esto provee de los suficiente paquetes para trabajar.

/etc/apt/sources.list
deb http://debian.salud.gob.sv/debian/ squeeze main contrib non-free 
deb-src http://debian.salud.gob.sv/debian/ squeeze main contrib non-free 

deb http://debian.salud.gob.sv/debian-security/ squeeze/updates main contrib non-free 
deb-src http://debian.salud.gob.sv/debian-security/ squeeze/updates main contrib non-free 

LDAP Instalar LDAP

aptitude install slapd ldap-utils 

Asigne una contraseña, pero seré mejor que reconfigure el paquete:

dpkg-reconfigure slapd  

Responda al asistente que aparecerá tal como sigue. Cada pregunta se corresponde con el título de cada paso.

 ¿Desea omitir la configuración del servidor OpenLDAP? 
    No 
Introduzca su nombre de dominio DNS (Una correcta configuración del cliente de red le colocará el valor necesario por defecto): 
    salud.gob.sv 
Nombre de la organización: 
    Ministerio de Salud. 
Contraseña del administrador y Verificación de contraseña: 
    {password-ldap-root} 
Motor de base de datos a utilizar: 
    Acepte la opción por defecto, que de hecho es la mejor opción. 
¿Desea que se borre la base de datos cuando se purgue el paquete slapd? 
    No. Podría ser útil en el futuro 
¿Desea mover la base de datos antigua? 
    Se refiere a la que ha creado por defecto Responda con Si 
¿Desea permitir el protocolo LDAPv2? 
    Responda con no. Samba, NSS y PAM (que no usaremos en realidad) soportan la última versión. 

Usuario de lectura

Crea una contraseña cifrada con el siguiente comando:

slappasswd -s {password-ldap-lector} -h {SHA}  

Crea un archivo

vim usuario-lectura 

Coloca el siguiente contenido

dn: cn=lector,dc=salud,dc=gob,dc=sv 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: lectura 
description: LDAP lectura 
userPassword: “Resultado de slappasswd -s password -h {SHA} “ 

Luego ejecuta el siguiente comando para agregar el usuario al ldap: ldapadd -x -D cn=admin,dc=salud,dc=gob,dc=sv -W -f usuario-lectura Y agradece el hecho que usamos smbldap-tools para administrar los usuarios, que esto es una pequeña parte de lo que tendrías que hacer si no

Modificando ldap. Esquemas

Instalamos el paquete con el, entre otras cosas, esquema para samba.

aptitude install samba-doc 

Agregar el esquema. Descomprimir el del ejemplo que trae samba

zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema 

Donde te encuentres, crea un directorio para el siguiente paso y abra un archivo para el siguiente paso.

mkdir schemas.d &&vim schemas.ldif 

En el archivo que has abierto copia el siguiente contenido. Cuida de borrar la tabulación. Esta es la nueva forma para crear el archivo LDIF correspondiente al SCHEMA samba.

include /etc/ldap/schema/core.schema 
include /etc/ldap/schema/cosine.schema 
include /etc/ldap/schema/nis.schema 
include /etc/ldap/schema/inetorgperson.schema 
include /etc/ldap/schema/samba.schema 

Creas el esquema samba con slaptest

slaptest -f schemas.ldif -F schemas.d/ 

Arroja el siguiente resultado.

config file testing succeeded 

Ahora copias el esquema ldiff creado al directorio correspondiente

cp schemas.d/cn\=config/cn\=schema/cn\=\{4\}samba.ldif /etc/ldap/slapd.d/cn\=config/cn\=schema/ 

Normalizas los permisos del archivo que acabas de copiar.

chown openldap:openldap /etc/ldap/slapd.d/cn\=config/cn\=schema/cn\=\{4\}samba.ldif 

Modificando ldap. ACL

El archivo de configuración se encuentra en /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}hdb.ldif Si no esta numerado de esta forma, o se tienen dudas de que sea ese, revisar dentro los atributos:

olcSuffix: dc=salud,dc=gob,dc=sv 
..
olcRootDN: cn=admin,dc=salud,dc=gob,dc=sv 
olcRootPW:: {hash-password-ldap-root} 

Que delatan el usuario ldap cuya contraseña configuramos antes. Entre ambas líneas debe encontrará esta línea

olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymous 
auth by dn="cn=admin,dc=salud,dc=gob,dc=sv" write by * none 

Agregar sambaLMPassword y sambaNTPassword a los atributos sobre los cuales se aplica esta ACL. El archivo quedará de esta forma:

olcAccess: {0}to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword by self write by anonymous 
auth by dn="cn=admin,dc=salud,dc=gob,dc=sv" write by * none 

Cuidar de solo agregar lo necesario y preservar el formato que tiene el archivo, con todo y los cambios de línea

Modificando ldap. Indices

Seguimos en el mismo archivo, /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}hdb.ldif Configurar estos índices permite al servidor ldap ser más eficiente en cuanto a sus búsquedas. Estos son los que se delatan más necesarios después de haber verificado los log. Agregar después de olcDbIndex: objectClass eq. Cuide de borrar las tabulaciones: Son peligrosas en el nuevo esquema de configuración que usa openLDAP

olcDbIndex: uidNumber eq 
olcDbIndex: gidNumber eq 
olcDbIndex: cn pres,sub,eq 
olcDbIndex: sn pres,sub,eq 
olcDbIndex: uid pres,sub,eq 
olcDbIndex: displayName pres,sub,eq 
olcDbIndex: memberUid eq,subinitial 
olcDbIndex: uniqueMember eq 
olcDbIndex: mail eq,subinitial 
olcDbIndex: givenname eq,subinitial 
olcDbIndex: sambaSID eq 
olcDbIndex: sambaPrimaryGroupSID eq 
olcDbIndex: sambaDomainName eq 
olcDbIndex: sambaGroupType eq 
olcDbIndex: sambaSIDList eq 

Comprobar que no haya tenido un error escribiendo en el archivo de configuración, y que reconozca el archivo LDIF del esquema SAMBA.

slaptest -vu 

Y debe devolver algo como

config file testing succeeded 

Reiniciar el servicio

service slapd restart 

Comprobar que todo este bien con un simple

ldapsearch -x -b -s base '(objectclass=*)' namingContexts -LLL 

Devolverá algo como esto

dn: namingContexts: dc=salud,dc=gob,dc=sv 

O con algo más elaborado. Comprobará además que su clave es la correcta.

ldapsearch -x -D cn=admin,dc=salud,dc=gob,dc=sv -b dc=salud,dc=gob,dc=sv -W -LLL

El resultado debe ser como el siguiente. Verifique que el atributo marcado userPassword aparezca

dn: dc=salud,dc=gob,dc=sv 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
o: Ministerio de Salud dc: salud 

dn: cn=admin,dc=salud,dc=gob,dc=sv 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: admin 
description: LDAP administrator 
userPassword:: {hash-password-ldap-root} 

dn: cn=lector,dc=salud,dc=gob,dc=sv 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: mafi description: LDAP lectura 
userPassword:: {hash-password-ldap-lector} 

Configuración del Cliente LDAP

Configure el archivo /etc/ldap/ldap.conf (Cliente LDAP en Debian) siguiendo el siguiente ejemplo y cambiando los valores adecuados.

BASE dc=salud,dc=gob,dc=sv 
URI ldap:192.168.192.12:389 
BINDDN cn=admin,dc=salud,dc=gob,dc=sv 

Compruebe con una búsqueda con ldapsearch

ldapsearch -x -LLL 

La respuesta debe ser del como la que sigue, sin el atributo userPassword

dn: dc=salud,dc=gob,dc=sv 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
o: Ministerio de Salud dc: salud 
dn: cn=admin,dc=salud,dc=gob,dc=sv 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: admin description: LDAP administrator 
dn: cn=mafi,dc=salud,dc=gob,dc=sv 
objectClass: simpleSecurityObject 
objectClass: organizationalRole 
cn: mafi description: LDAP lectura 

Samba

Instalar samba

 aptitude -W install samba{,-tools} smbclient  

Aparecerá una asistente gráfico que pregunta por el Grupo de Trabajo. Puede obviar la respuesta, porque de todos modos lo vamos a reconfigurar y usar nuestro propio archivo. dpkg-reconfigure samba Responda al asistente que aparecerá tal como sigue. Tenga cuidado que sólo se refiere al título ¿Cómo quiere que se ejecute Samba? Escoja la opción Demonios.

¿Desea crear la base de datos de contraseñas «/var/lib/samba/passdb.tdb»?

Detener el servicio. No lo vuelva a levantar hasta que se indique, después de la sección sobre smbldap-tools

service samba stop  

Borrar los datos de configuración que SAMBA hizo al inicio. Sí, los que acaba de crear

 rm /var/lib/samba/*{tdb,dat}  

Posiblemente aparezca el siguiente mensaje de error. No es nada de que preocuparse.

rm: no se puede borrar «/var/lib/samba/*dat»: No existe el fichero o el directorio 

Configurar samba

El siguiente archivo de configuración pareciera tener todas las opciones necesarias para el uso que se ha descrito en la presentación de este trabajo. Será bueno que mantenga en alguna medida los comentarios para referencias futuras sobre cambios que quieran hacerse. El archivo esta bastante trabajado sin lugar a dudas.

/etc/samba/smb.conf
#======================= Global Settings =======================

[global] 
loglevel = 2 
workgroup = salud.gob.sv 

#Asignamos un nombre netbios que nunca deberíamos cambiar
netbios name = debian-pdc server string = %h server - %L 

#Este será el servidor wins. Se supone que el se las arreglará
wins support = yes 

#El orden de resolución para el netbios.
name resolve order = lmhosts host wins bcast 

#No buscará en dns cuando netbios fallé. Pero sería un buen proyecto: DNS Dinámico
dns proxy = no 

####Networking #### 
#En realidad, no creo que debas dar con las dos las dos primeras 
#interfaces = lo eth0 
#bind interfaces only = yes 
#Podrías probar en un futuro si estas opciones pueden ser utiles SO_RCVBUF=8192 SO_SNDBUF=8192 
socket options = TCP_NODELAY

#Evitará algunos errores no tan errores, pero que salen en el log
smb ports = 139 

####Debugging/Accounting #### 
#Este parametro log permite llevar un registro por maquina conectada, lo cual puede ser interesante pero se puede desactivar si se quiere

log file = /var/log/samba/log.%m max log size = 1000 
##Mandará mensajes del log al syslog, con lo que podrían probarse otras mejoras mediante el 
syslog = 2 
#¿Le damos aunque sea un poco más? Un valor mayor de tres no da información relevante para networking 
log level = 0 
panic action = /usr/share/samba/panic-action %d 

#######Authentication #######

security = user enable privileges = yes 

            #Apunta hacia el servidor que corre el LDAP 

passdb backend = ldapsam:ldap://192.168.192.12 
#Esta opción esta declarada como inútil, lo cual podría ser una verdadera lástima porque se me imaginaba algunas utilidades
#ldap filter = (&(uid=%u)(objectclass=sambaSamAccount)) 
ldap admin dn = cn=admin,dc=salud,dc=gob,dc=sv 
ldap suffix = dc=salud,dc=gob,dc=sv 
ldap user suffix = ou=Users 
ldap group suffix = ou=Groups 
ldap machine suffix = ou=Computers 
ldap passwd sync = Yes 
ldap delete dn = No 
ldap ssl = no 
ldap replication sleep = 1000 
ldap timeout = 5 
ldap delete dn = No 
#Para que obedecer PAM si no lo vamos a usar? 
obey pam restrictions = yes 
encrypt passwords = true 
#Permite que el usuario pueda cambiar la contrasenia 
#Se supone que bastaría con ldap passwd sync, pero mira, si quieres haces las pruebas y luego ves si los borras 
#unix password sync = yes Ahora se supone que igual ya no va pam password change = yes 

add user script = /usr/sbin/smbldap-useradd -a -m "%u" 
add group script = /usr/usr/sbin/smbldap-groupadd -p "%g" 
#Verifique la opción -W sea efectivamente una W mayúscula. 
add machine script = /usr/sbin/smbldap-useradd -W "%u" 
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" 
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" 
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" 

#Estas configuraciones las vamos a cortar de una vez por ahora 
#Están explicadas acá http://www.samba.org/samba/docs/man/Samba3-HOWTO/idmapper.html 
#Entre otras cosas, las suponen en un ambiente de clúster nada más. 
#Acá se explica lo del compañero winbind http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html 
#Mira si el servidor lo tiene instalado, de no ser así, lo borras

#ldap idmap suffix = ou=Idmap 
# idmap backend = ldap:ldap://192.168.12.170 
# idmap uid = 10000-20000 
# idmap gid = 10000-20000 
# winbind trusted domains only = Yes

##########Domains ###########

domain logons = yes 
domain master = yes 
local master = yes 
os level = 65 
logon path = 
logon drive = H: 
logon home = 
logon script = 

############Misc ############ 
#Ayudan con la autenticacion de los usuarios windows SP3 para arriba

client ntlmv2 auth = yes 
#Arriba lo has configurado. Sólo que por eso no haya estado funcionando 
wins proxy = no 
lanman auth = yes 
ntlm auth = yes 

#Desactivaremos CUPS

load printers = no 
printing = bsd 
printcap name = /dev/null 
disable spoolss = yes 

#======================= Share Definitions =======================

[homes] 
comment = Home Directories 
browseable = no 
read only = no 
writeable = yes 
create mask = 0700 
directory mask = 0700 
valid users = %S 
veto files =/*.mp3/*.mp4/*.mpg/*.avi 

[netlogon] 
comment = Network Logon Service 
path = /var/lib/samba/netlogon 
guest ok = yes 
read only = yes 
write list = root 

Creamos el directorio para netlogon, sobre todo, por cualquier eventualidad en el futuro

mkdir /var/lib/samba/netlogon  

Normalizas servicios

chown -R root:sambashare /var/lib/samba/netlogon/ 

Revisamos el archivo de configuración testparm La salida debe ser similar a esto.

Load smb config files from /etc/samba/smb.conf 
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) 
Processing section "[homes]" 
Processing section "[netlogon]" 
Loaded services file OK. 
Server role: ROLE_DOMAIN_PDC 
Press enter to see a dump of your service definitions 

Veremos por el error rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) hacia el final de este documento.

Agregar el password del administrador del árbol ldap

smbpasswd -W 

SMBLDAP-TOOLS

Se espera que el servidor SAMBA no haya sido iniciado desde la sección anterior. Instalar smbldap-tools.

aptitude install smbldap-tools 

Configuración de SMBLDAP-TOOLS

Conseguir los archivos de configuración necesarios.

zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz >/etc/smbldap-tools/smbldap.conf  
cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/ 

Adecuar los permisos

chown root:openldap /etc/smbldap-tools/smbldap* 

Cambiaremos el archivo /etc/smbldap-tools/smbldap_bind.conf, para que ambas los valores de autenticación se correspondan con los nuestros.

slaveDN="cn=admin,dc=salud,dc=gob,dc=sv" 
slavePw="{password-ldap-root}" 
masterDN="cn=lector,dc=salud,dc=gob,dc=sv" 
masterPw="{password-ldap-lector}" 

Verifique que se ha desactivado TLS y SSL para la comunicación con el servidor LDAP. Luego, revise que se han desactivado las opciones de usuarios móviles. Se configura el SID de nuestro servidor Samba anterior. En smbldap.conf se deben configurar todas las opciones que entendamos con nuestro smb.conf en mano. Toda saldra bien.

/etc/smbldap-tools/smbldap.conf
############################################################################## 
#General Configuration 
##############################################################################

#Se obtiene con net getlocalsid. 
#Especialemente útil cuando se necesita usar el de un servidor anterior

SID="S-1-5-21-371878337-141820978-2368272707" 

#Domain name the Samba server is in charged. 
#If not defined, parameter is taking from smb.conf configuration file

sambaDomain="salud.gob.sv" 

############################################################################## 
#LDAP Configuration 
############################################################################## 
#Slave LDAP server 
#If not defined, parameter is set to "127.0.0.1"

slaveLDAP="192.168.17.26" 

#Slave LDAP port 
#If not defined, parameter is set to "389"

slavePort="389" 

#Master LDAP server: needed for write operations

masterLDAP="192.168.17.26" 

#Master LDAP port

masterPort="389" 

#Use TLS for LDAP 
#If not defined, parameter is set to "0"

ldapTLS="0" 

#Use SSL for LDAP 
#If not defined, parameter is set to "0"

ldapSSL="0" 

#LDAP Suffix

suffix="dc=salud,dc=gob,dc=sv" 

#Where are stored Users

usersdn="ou=Users,${suffix}" 

#Where are stored Computers

computersdn="ou=Computers,${suffix}" 

#Where are stored Groups

groupsdn="ou=Groups,${suffix}" 

#Desabilitado porque no es necesario para la configuración de nuestro servidor 
#idmapdn="ou=Idmap,${suffix}"

#Where to store next uidNumber and gidNumber available for new users and groups

sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}" 

#Default scope Used

scope="sub" 

#Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)

hash_encrypt="SSHA" 

#if hash_encrypt is set to CRYPT, you may set a salt format. 
#default is "%s", but many systems will generate MD5 hashed 
#passwords if you use "$1$%.8s". This parameter is optional!

crypt_salt_format="%s" 

############################################################################## 
#
#Unix Accounts Configuration 
#
##############################################################################

#Login defs 
#Default Login Shell 
#Ex: userLoginShell="/bin/bash"
userLoginShell="/bin/false" 

#Home directory 
#Ex: userHome="/home/%U"
userHome="/home/%U" 

#Default mode used for user homeDirectory
userHomeDirectoryMode="764" 

#Gecos
userGecos="System User" 

#Default User (POSIX and Samba) GID
defaultUserGid="513" 

#Default Computer (Samba) GID
defaultComputerGid="515" 

#Skel dir
skeletonDir="/etc/skel" 

#Default password validation time (time in days)
defaultMaxPasswordAge="99999" 

############################################################################## 
#
#SAMBA Configuration 
#
##############################################################################

#The UNC path to home drives location (%U username substitution)
userSmbHome="\\PDC-DEBIAN\%U" 

#The UNC path to profiles locations (%U username substitution)
userProfile= 

#The default Home Drive Letter mapping
userHomeDrive="H:" 

#The default user netlogon script name (%U username substitution) 
userScript="logon.bat" 

#Domain appended to the users "mail"-attribute
mailDomain="salud.gob.sv" 

############################################################################## 
#SMBLDAP-TOOLS Configuration (default are ok for a RedHat) 
##############################################################################

#Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but 
#prefer Crypt::SmbHash library
with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" 

#Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm) 
#but prefer Crypt:: libraries
with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" 

#comment out the following line to get rid of the default banner 
#no_banner="1"

Luego, corres el archivo que lo demuestra todo

smbldap-populate  

Inicias el servidor samba

service samba start  

Seteas el valor del SID para que coincida con el que esta en el archivo de configuración de smbldap.conf

net setlocalsid S-1-5-21-2434350264-4182727829-1472804664

Configuraciones especiales en el servidor

Editar el archivo /etc/sysctl.conf Agregar, si es que no lo esta, la línea net.ipv6.bindv6only = 1 Y ejecutar entonces para tomar los cambios sobre la marcha sysctl -p

Ejecute después ulimit -n 16384 Y tendrá que hacerlo de nuevo cada vez que reinicie el servidor, porque se supondría que agregando * - nofile 16385 a /etc/security/limits.conf , y reiniciando el servidor, se configuraría el valor adecuado, pero no hace caso.

NSS-SWITCH

Se instala los paquetes libnss-ldap

aptitude install libnss-ldap 

Aparecerá un asistente en modo texto que realiza una configuración que al menos se da por satisfecha.

URI del servidor de LDAP: 
    ldap://192.168.17.26 
El nombre distintivo (DN) de la base de búsquedas: 
    dc=salud,dc=gob,dc=sv 
Versión de LDAP a utilizar: 
    3 
Cuenta LDAP para root:  
    cn=admin,dc=salud,dc=gob,dc=sv 
Contraseña para la cuenta LDAP de root: 
    {password-ldap-root} 

Aparece un aviso sobre configurar manualmente el archivo /etc/nsswitch.conf, lo cual haremos en breve

¿Hace falta un usuario para acceder a la base de datos de LDAP?
Cuenta del administrador de LDAP: 
    cn=admin,dc=salud,dc=gob,dc=sv 
Contraseña del administrador de LDAP: 
    {password-ldap-root} 
Cuenta del usuario de LDAP: 
    cn=lector,dc=salud,dc=gob,dc=sv_ 
Contraseña del usuario LDAP:  
    {password-ldap-lector}

Configuraremos ahora el archivo /etc/nsswitch.conf, modificaremos las siguiente líneas para que queden como tal:

/etc/nsswitch.conf
passwd: compat ldap 
group: compat ldap 
shadow: compat ldap 

hosts: files wins dns 

Obtengamos la lista de usuarios del sistema

getent passwd 

Y deben aparecer listados como usuarios del sistema todos los usuarios del LDAP. Para terminar, debe modificarse /etc/pam_ldap.conf. Configurese a modo que las siguientes líneas queden de la siguiente forma.

nss_base_passwd ou=Users,dc=salud,dc=gob,dc=sv?one 
nss_base_passwd ou=Computers,dc=salud,dc=gob,dc=sv?one 
nss_base_shadow ou=Users,dc=salud,dc=gob,dc=sv?one 
nss_base_group ou=Groups,dc=salud,dc=gob,dc=sv?one 

Luego, de ejecutar y deseleccionar la opcion LDAP Authentication

pam-auth-update 

Reinicias el servicio nscd

service nscd restart  

Y verificar con un usuario al azar que sea un verdadero usuario del sistema. (Pero el truco anterior le impedirá loguearse en el servidor)

id lramirez 

Que debe devolver algo como esto

uid=3058(lramirez) gid=1020(HNSensunte) grupos=1020(HNSensunte) 

El siguiente comando debe devolver un estado del mapeo de grupos Unix-Samba

net groupmap list 

El resultado debe dar algo como esto, tome en cuenta que esta es una salida recortada

Domain Admins (S-1-5-21-371878337-141820978-2368272707-512) -> Administradores 
rorien (S-1-5-21-371878337-141820978-2368272707-3013) ->  Reg_Oriental 
... 
Domain Admins (S-1-5-21-371878337-141820978-2368272707-512) ->  Domain Admins 
Domain Users (S-1-5-21-371878337-141820978-2368272707-513) ->  Domain Users 

Respaldo – restauración del árbol LDAP

Respaldo

Se debe obtener un respaldo por rama del servidor en cuestión. Con esto bastará.

ldapsearch -x -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap-root} -b ou=Users,dc=salud,dc=gob,dc=sv>personas.ldif 
ldapsearch -x -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap-root} -b ou=Computers,dc=salud,dc=gob,dc=sv>machines.ldif 
ldapsearch -x -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap-root} -b ou=Groups,dc=salud,dc=gob,dc=sv>group.ldif 

Y si se hace desde la terminal de un equipo externo agregas el parametro -H

 ldapsearch -x -H ldap://192.168.10.14:389  -D cn=admin,dc=salud,dc=gob,dc=sv -w contrasenia -b ou=people,dc=salud,dc=gob,dc=sv>personas.ldif 

Como puedas, borra la entrada de nobody y root del archivo ldiff, porque ya existen en esa rama. Borra también la entrada en la rama.

Cuando esto se haya hecho, puede levantarse el sevicio samba

service samba restart 

Si usted migra desde otro servidor, revise que los atributos que cada objeto tenga se corresponda con los disponibles en los esquemas agregados. Ese fue un trabajo especialmente interesante en nuestra organización. Y sí, prácticamente es a prueba y error.

Recuperación

Para volverse al lugar de donde vinieron, solo debe correrse lo siguiente con cada archivo de subarbol que se haya recuperado . Debe usarse el usuario administrador.

ldapadd -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap} -f personas.ldif 
ldapadd -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap} -f machines.ldif 
ldapadd -D cn=admin,dc=salud,dc=gob,dc=sv -w {password-ldap} -f group.ldif 

Cuando se recuperen, se debe revisar que samba los pueda leer.

pdbedit -L

Primeros pasos en la administración

El usuario más normal del mundo puede crearse con el siguiente comando, el cual parece ser bastante explicativo sobre el uso de cada opción propuesta. Mencionar que -m le creará al usuario un directorio en home, algo que en realidad muy pocos usuarios tendrán el privilegio de tener. El uso más común que tendrá el usuario será el siguiente:

smbldap-useradd -a -P -N "Alexander" -S "Figueroa" -c "Alexander Figueroa" -g "Domain Admins" -d "" admin01 

Se recomienda darle permisos de administrador en el dominio

net -S 10.10.20.49 rpc rights grant 'salud.gob.sv\Domain Admins' SeTakeOwnershipPrivilege SeAddUsersPrivilege SeMachineAccountPrivilege 
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas