Pe client sssd
authselect select sssd --force
systemctl enable --now sssd
[root@ldap-sssd ~]# id adam
uid=16859(adam) gid=100(utilizatori) grupuri=100(utilizatori)
[root@ldap-sssd ~]# su adam
bash-4.4$ su adam
Parola:
su: Eșec de autentificare
bash-4.4$
Dacă fug
sssctl user-checks adam
vad asta
utilizator: Adam
actiune: acct
serviciu: system-auth
Rezultatul căutării utilizatorului SSSD nss:
- nume de utilizator: adam
- ID utilizator: 16859
- ID grup: 100
- gecos: adam
- directorul principal: /home/adam
- shell: /bin/bash
Rezultatul căutării utilizatorului SSSD InfoPipe:
- nume: adam
- uidNumber: 16859
- Număr gid: 100
- gecos: adam
- homeDirectory: /home/adam
- loginShell: /bin/bash
testarea pam_acct_mgmt
pam_acct_mgmt: Permisiune refuzată
Mediu PAM:
- fara mediu -
pe ldapmaster confirm că parola este corectă
ldapsearch -x -H ldap://ldapmaster \
-D uid=adam,ou=Utilizatori,DC=srv,DC=lumea \
-w 1234 \
-b uid=adam,ou=Utilizatori,DC=srv,DC=lumea \
-s baza \
„(objectclass=*)”
[root@ldapmaster ~]# șterge
-s baza "(objectclass=*)"4 -b uid=adam,ou=Utilizatori,DC=srv,DC=world
# LDIF extins
#
# LDAPv3
# bază <uid=adam,ou=Utilizatori,DC=srv,DC=world> cu domeniul de aplicare baseObject
# filtru: (objectclass=*)
# solicită: TOATE
#
# adam, Utilizatori, srv.world
dn: uid=adam,ou=Utilizatori,dc=srv,dc=world
objectClass: top
objectClass: cont
objectClass: posixAccount
objectClass: shadowAccount
cn: adam
uid: adam
Număr uid: 16859
gidNumăr: 100
homeDirectory: /home/adam
loginShell: /bin/bash
gecos: adam
shadowLastChange: 0
umbrăMax: 0
umbrăAvertisment: 0
userPassword:: e1NTSEF9OVcvdStLUTM3Y1F2dE5hVGR2WktuSDZSMm0zRGlUckw=
# rezultatul căutării
cautare: 2
rezultat: 0 Succes
# numResponses: 2
# numEntries: 1
Configurații client sssd
nsswitch.conf
[root@ldap-sssd ~]# grep „^[^#;]” /etc/nsswitch.conf
passwd: fișiere sss systemd
grup: fișiere sss systemd
netgroup: fișiere sss
montare automată: fișiere sss
servicii: fișiere sss
shadow: fișiere sss
hosts: fișiere dns myhostname
aliasuri: fișiere
eteri: fișiere
gshadow: fișiere
rețele: fișiere dns
protocoale: fișiere
cheie publică: fișiere
rpc: fișiere
ldap.conf
[root@ldap-sssd ~]# grep „^[^#;]” /etc/openldap/ldap.conf
BASE dc=srv,dc=world
URI ldap://ldapmaster
SASL_NOCANON activat
URI ldap://ldapmaster
BASE dc=srv,dc=world
sssd.conf
[root@ldap-sssd ~]# grep "^[^#;]" /etc/sssd/sssd.conf
[sssd]
servicii = nss, pam, sudo
config_file_version = 2
domenii = implicit
[sudo]
[nss]
[pam]
offline_credentials_expiration = 60
[domeniu/implicit]
ldap_id_use_start_tls = Fals
cache_credentials = Adevărat
ldap_search_base = dc=srv,dc=world
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
sudo_provider = ldap
ldap_uri = ldap://ldapmaster
ldap_default_bind_dn = cn=Manager,ou=Utilizatori,dc=srv,dc=world
ldap_default_authtok_type = parola
ldap_default_authtok = 1234
ldap_search_timeout = 50
ldap_network_timeout = 60
ldap_access_order = filtru
ldap_access_filter = ((objectClass=posixAccount))
scriptul de configurare ldapmaster
#https://www.server-world.info/en/note?os=CentOS_7&p=openldap
yum -y instalează openldap-server openldap-clients firewalld mlocate man --nobest
actualizatb
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap. /var/lib/ldap/DB_CONFIG
systemctl start slapd
systemctl enable slapd
pisică <<EOF > chrootpw.ldif
# specificați parola generată mai sus pentru secțiunea „olcRootPW”.
dn: olcDatabase={0}config,cn=config
changetype: modifică
adăugați: olcRootPW
olcRootPW: 1234
EOF
ldapadd -Y EXTERN -H ldapi:/// -f chrootpw.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
cat <<EOF > chdomain.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modifică
înlocuiți: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
citit de dn.base="cn=Manager,dc=srv,dc=world" citit de * niciunul
dn: olcDatabase={2}mdb,cn=config
changetype: modifică
înlocuiți: olcSuffix
olcSuffix: dc=srv,dc=world
dn: olcDatabase={2}mdb,cn=config
changetype: modifică
înlocuiți: olcRootDN
olcRootDN: cn=Manager,dc=srv,dc=world
dn: olcDatabase={2}mdb,cn=config
changetype: modifică
adăugați: olcRootPW
olcRootPW: 1234
dn: olcDatabase={2}mdb,cn=config
changetype: modifică
adăugați: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=srv,dc=world" scrie prin autentificare anonimă prin auto scrie prin * niciunul
olcAccess: {1}la dn.base="" prin * citiți
olcAccess: {2}pentru * prin dn="cn=Manager,dc=srv,dc=world" scrie prin * citește
EOF
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
cat <<EOF > bazadomain.ldif
# înlocuiți cu propriul nume de domeniu pentru secțiunea „dc=***,dc=***”.
dn: dc=srv,dc=lume
objectClass: top
objectClass: dcObject
objectclass: organizare
o: Lumea serverelor
dc: Srv
dn: cn=Manager,dc=srv,dc=world
objectClass: organizationalRole
cn: Manager
descriere: Director Manager
dn: ou=Utilizatori,dc=srv,dc=world
objectClass: organizationalUnit
objectClass: top
ou: Utilizatori
dn: ou=Groups,dc=srv,dc=world
objectClass: organizationalUnit
objectClass: top
ou: Grupuri
EOF
ldapadd -x -w 1234 -D cn=Manager,dc=srv,dc=world -f basedomain.ldif
systemctl porni firewalld
systemctl activa firewalld
firewall-cmd --add-service=ldap --permanent
firewall-cmd --reîncărcare
pisica <<EOF > adam.ldif
dn: uid=adam,ou=Utilizatori,dc=srv,dc=world
objectClass: top
objectClass: cont
objectClass: posixAccount
objectClass: shadowAccount
cn: adam
uid: adam
Număr uid: 16859
gidNumăr: 100
homeDirectory: /home/adam
loginShell: /bin/bash
gecos: adam
userParola: 1234
shadowLastChange: 0
umbrăMax: 0
umbrăAvertisment: 0
EOF
ldapadd -x -w 1234 -D "cn=Manager,dc=srv,dc=world" -f adam.ldif
ldappasswd -s 1234 -w 1234 -D "cn=Manager,dc=srv,dc=world" -x "uid=adam,ou=Utilizatori,dc=srv,dc=world"
Ghiduri de referință
https://www.server-world.info/en/note?os=CentOS_7&p=openldap
https://kifarunix.com/configure-sssd-for-openldap-authentication-on-centos-8/