Puncte:1

Permiteți utilizatorilor openldap să schimbe parola cu passwd în centos, am rupt-o

drapel in

Am încercat să fac cele de mai sus cu acest tutorial:

https://www.unixguide.net/content/openldap-allow-users-change-their-password-unix-passwd-command

Așa că am creat acest ldif:

dn: olcDatabase={2}hdb,cn=config
changetype: modifică
adăugați: olcAccess
olcAccess: to attrs=userPassword de la sine scriere prin autentificare anonimă de dn.base="cn=ldapadm,dc=bbb,dc=local" scrie de *none

adăugați: olcAccess
olcAccess: to * by self write by dn.base="cn=ldapadm,dc=bbb,dc=local" scrie prin * read

A rulat ldapmodify, acum niciun utilizator nu se poate conecta la niciun client cu parola, când putea înainte de a rula modificarea de mai sus.

acum, încercând să vă autentificați, spune că permisiunea a fost refuzată după ce ați introdus parola corectă....ce am spart ?? (complet nou pentru openldap)

Și, deoarece ar putea fi relevant, acesta este modul în care mi-am conectat clienții la serverul meu openldap:

yum install -y openldap-clients nss-pam-ldapd
authconfig --enableldap --enableldapauth --ldapserver=192.168.1.10 --ldapbasedn="dc=bbb,dc=local" --enablemkhomedir --update

Din cutie, dacă tastesc passwd pe un utilizator ldap... rezultatul se întâmplă:

[ldapuser@sdss5-db ~]$ passwd
Schimbarea parolei pentru utilizatorul ldapuser.
(actuală) Parolă LDAP: 
Parolă Nouă: 
Reintroduceți parola nouă: 
Schimbarea parolei a eșuat: acces insuficient
passwd: Eroare de manipulare a simbolului de autentificare

Deși, din nou, fișierul ldif de mai sus cu olcAccess mi-a spart ldap-ul nu a făcut nimic să funcționeze (a trebuit să revin la VM-ul înainte de a rula acea comandă... mai ales pentru că sunt nou la ldap și nu știu cum să elimin elementele etc. )

Iată toate fișierele mele cn=config:

olcDatabase={-1}frontend.ldif


# FIȘIER GENERAT AUTOMAT - NU EDIȚI!! Utilizați ldapmodify.
# CRC32 daf543d1
dn: olcDatabase={-1}frontend
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
structuralObjectClass: olcDatabaseConfig
entryUUID: 1244881e-5cf7-103b-94a5-5f5943b4315f
creatorsName: cn=config
createTimestamp: 20210608224613Z
intrareCSN: 20210608224613.408737Z#000000#000#000000
modificatoriNume: cn=config
modifică ștampila: 20210608224613Z


olcDatabase={0}config.ldif

# FIȘIER GENERAT AUTOMAT - NU EDIȚI!! Utilizați ldapmodify.
# CRC32 54d58ed2
dn: olcDatabase={0}config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth" gestionați de * niciunul
structuralObjectClass: olcDatabaseConfig
entryUUID: 12448a9e-5cf7-103b-94a6-5f5943b4315f
creatorsName: cn=config
createTimestamp: 20210608224613Z
intrareCSN: 20210608224613.408801Z#000000#000#000000
modificatoriNume: cn=config
modifică ștampila: 20210608224613Z



olcDatabase={1}monitor.ldif

# FIȘIER GENERAT AUTOMAT - NU EDIȚI!! Utilizați ldapmodify.
# CRC32 3165478b
dn: olcDatabase={1}monitorizează
objectClass: olcDatabaseConfig
olcDatabase: {1}monitorizează
structuralObjectClass: olcDatabaseConfig
intrareUUID: 12448d32-5cf7-103b-94a7-5f5943b4315f
creatorsName: cn=config
createTimestamp: 20210608224613Z
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al, cn=auth" citit de dn.base="cn=ldapadm,dc=bbb,dc=local" citit de * niciunul
intrareCSN: 20210608225001.645649Z#000000#000#000000
modificatoriNume: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifică ștampila: 20210608225001Z




olcDatabase={2}hdb.ldif


# FIȘIER GENERAT AUTOMAT - NU EDIȚI!! Utilizați ldapmodify.
# CRC32 89413e34
dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,nume,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 1244907a-5cf7-103b-94a8-5f5943b4315f
creatorsName: cn=config
createTimestamp: 20210608224613Z
olcSuffix: dc=bbb,dc=local
olcRootDN: cn=ldapadm,dc=bbb,dc=local
olcRootPW:: e1NTSEF9QTB0dS94UjR6cy83ZEMvQUxPL21uS2RLaXZUeFNXVEg=
olcAccess: {0}to attrs=userParola de sine stătătoare prin autentificare anonimă de către dn.ba
 se="cn=ldapadm,dc=bbb,dc=local" scrie prin * niciunul
intrareCSN: 20210702202550.687485Z#000000#000#000000
modificatoriNume: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifică ștampila: 20210702202550Z

Se pare că nu scrie a doua parte a:

adăugați: olcAccess
olcAccess: to * by self write by dn.base="cn=ldapadm,dc=unixguide,dc=net" write by * read

La olcDatabase={2}hdb.ldif , după exemplul pe care îl are olcAccess: {1}pentru a * de sine stătător de către dn.base="cn=ldapadm,dc=unixguide,dc=net" scrie prin * de citit

Bănuiesc că acesta este ceea ce nu funcționează și anulează capacitatea de a te autentifica după ce rulez comanda. Nu sunt sigur de ce nu apare, deși nu primesc erori când rulez comanda de modificare cu ldif-ul meu postat mai sus...

Rezultatul modificării ldap este următorul:

[root@openldapserver ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f passwordaccess.ldif
Autentificarea SASL/EXTERNĂ a început
Nume utilizator SASL: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modificarea intrării „olcDatabase={2}hdb,cn=config”
Puncte:1
drapel dk

În dn: olcDatabase={2}hdb,cn=config specificați ce regulă să înlocuiți/adăugați. Sistemul meu are reguli de acces prin parolă dn: olcDatabase={-1}frontend.

Asigurați-vă că vizați regula corectă.

drapel in
Deci asta înseamnă că înlocuiesc linia dn: din acel ldiff cu: `dn: olcDatabase={-1}frontend`?
Jari Turkia avatar
drapel dk
Dacă sunteți gata să vă restaurați din nou LDAP, asta vă sugerez.Mișcare inteligentă ar fi să aruncați o privire în `/etc/openldap/slapd.d/cn=config` și să vedeți unde sunt regulile dvs. în prezent, apoi să alegeți să modificați acel fișier.
drapel in
Oh, sunt confuz, am rupt ldap cu comanda mea de mai sus, dar pentru a o restabili tocmai am mers la o captură VM Snap a lui înainte de a face comanda, așa că ldap funcționează, pur și simplu nu pot folosi funcționalitatea passwd încă... dă erorile de mai sus. Deci acea linie pe care am încercat-o și am crezut că o va face să funcționeze... nu a funcționat. O să vânez în fișierul cn=config Nu l-am atins prea mult deloc.
Jari Turkia avatar
drapel dk
Bine. Sistemele sunt diferite, deci partea critică ar fi să vedeți ce părți ale configurației aveți în `/etc/openldap/slapd.d/cn=config` și care dintre ele au setări pentru permisiuni și/sau parole.
drapel in
Bine, sunt în acel folder de slapd.d/cn=config, văd fișiere ldif. Unul este olcDatabase={-1}frontend.ldif, dar dacă văd acel fișier, nu există nimic despre parole. Există, de asemenea, un folder de cn=schema cu mai multe fișiere ldif cu un nivel mai jos. Acesta este pentru o mașină centos7
Jari Turkia avatar
drapel dk
Fișierul `cn=schema` va conține definiții pentru datele stocate în LDAP și în acest caz nu este relevant. Acum trebuie să determinați care dintre fișiere conține reguli de acces și să direcționați modificările către acestea.
drapel in
Am actualizat intrarea, o pot face să adauge o regulă din ldif, dar nu și cealaltă regulă fără erori.
Jari Turkia avatar
drapel dk
Puteți edita fișierul de configurare găsit cu un editor de text. Reporniți slapd pentru a face modificările eficiente.
drapel in
Oh, wow, nu știam că o pot edita direct (s-a spus că nu) dar, desigur, adăugând asta: olcAccess: {1}to * by self write by dn.base="cn=ldapadm,dc=unixguide,dc=net " scrie prin * citește a făcut totul să funcționeze! Mulțumesc!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.