Am urmat acest tutorial aici:
https://kifarunix.com/how-to-configure-sudo-via-openldap-server/
Multe dintre ele aveau sens, dar încă sunt noi pentru openldap, așa că unele dintre acestea sunt și ele criptice. Am openldap care rulează cu utilizatori care se autentifică pe alte mașini chiar și lucrează cu phpldapadmin. Așa că era timpul să lucreze sudoers pentru unii utilizatori. Am alergat pe sudoers2ldif
comandă și am primit un fișier similar cu ceea ce a fost afișat în tutorial și l-am editat în consecință. Când a venit timpul să alerg ldapadd -Y EXTERNAL -H ldapi:/// -f sudoers_modified.ldif
a eșuat cu eroarea:
Autentificarea SASL/EXTERNĂ a început
Nume utilizator SASL: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adăugarea unei noi intrări „cn=defaults,ou=SUDOers,dc=apo,dc=local”
ldap_add: sintaxă nevalidă (21)
informații suplimentare: objectClass: valoarea #1 nevalidă pe sintaxă
Este 21, numărul de linie al fișierului .ldif? Sau un alt cod de eroare... de asemenea, nu am idee ce este invalid pe comanda objectClass... postat este fișierul ldif de mai jos.
dn: cn=defaults,ou=SUDOers,dc=bbb,dc=local
objectClass: top
objectClass: sudoRole
cn: implicite
descriere: sudoOption implicită merge aici
sudoOption: !visiblepw
sudoOption: always_set_home
sudoOption: match_group_by_gid
sudoOption: always_query_group_plugin
sudoOption: env_reset
sudoOption: env_keep = "CULORI DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
sudoOption: env_keep += „MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE”
sudoOption: env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
sudoOption: env_keep += „LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE”
sudoOption: env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
sudoOption: secure_path = /sbin:/bin:/usr/sbin:/usr/bin
dn: cn=sudo,OU=SUDOers,dc=bbb,dc=local
objectClass: top
objectClass: sudoRole
cn: sudo
sudoUtilizator: bobby
sudoHost: TOATE
sudoRunAsUser: TOATE
sudoCommand: TOATE
Poate că sudoRole trebuie adăugat cumva? Celălalt ldif pe care l-am adăugat cu succes pentru asta a fost:
dn: ou=SUDOers,dc=bbb,dc=local
objectCLass: top
objectClass: organizationalUnit
ou: SUDOeri
descriere: container BBB SUDOers
Am gasit un alt tutorial aici:
https://forums.centos.org/viewtopic.php?t=73807
Cu informații similare ușor diferite, nu l-am folosit pe acesta deoarece unul dintre fișierele ldif care a fost postat avea o mulțime de lucruri care spuneau că este „generat automat” și nu aveam idee cum sau de unde provine.
După un singur răspuns, cred că fișierul afișat pe linkul de mai sus care conține datele:
vi /testfolder/sudoers.ldif
#------------------------
# FIȘIER GENERAT AUTOMAT - NU EDIȚI!! Utilizați ldapmodify.
# CRC32 b181185c
dn: cn=sudoers,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: sudoers
olcAttributeTypes: {0}( 1.3.6.1.4.1.15953.9.1.1 NAME 'sudoUser' DESC 'Utilizator(i)
) care poate rula sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5Substrin
SINTAXA gsMatch 1.3.6.1.4.1.1466.115.121.1.26)
olcAttributeTypes: {1}( 1.3.6.1.4.1.15953.9.1.2 NAME 'sudoHost' DESC 'Gazdă(e)
) care poate rula sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5Substring
sMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
olcAttributeTypes: {2}( 1.3.6.1.4.1.15953.9.1.3 NAME 'sudoCommand' DESC 'Com
comanda(e) care urmează să fie executată de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4
.1.1466.115.121.1.26)
olcAttributeTypes: {3}( 1.3.6.1.4.1.15953.9.1.4 NAME 'sudoRunAs' DESC 'Utilizator(
s) uzurpat de sudo (depreciat)' EQUALITY caseExactIA5Match SINTAXA 1.3
.6.1.4.1.1466.115.121.1.26)
olcAttributeTypes: {4}( 1.3.6.1.4.1.15953.9.1.5 NAME 'sudoOption' DESC 'Opti
ons(e) urmat de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4.1.1466
.115.121.1.26)
olcAttributeTypes: {5}( 1.3.6.1.4.1.15953.9.1.6 NAME 'sudoRunAsUser' DESC 'U
ser(e) uzurpat de sudo' EGALITATE caseExactIA5Match SINTAXA 1.3.6.1.4.1.
1466.115.121.1.26)
olcAttributeTypes: {6}( 1.3.6.1.4.1.15953.9.1.7 NAME 'sudoRunAsGroup' DESC '
Grup(e) impersonat(e) de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4.
1.1466.115.121.1.26)
olcAttributeTypes: {7}( 1.3.6.1.4.1.15953.9.1.8 NAME 'sudoNotBefore' DESC 'S
tart de interval de timp pentru care intrarea este valabila' EGALITATE generalizataTim
eMatch ORDERING generalizedTimeOrderingMatch SINTAXA 1.3.6.1.4.1.1466.115.12
1.1.24)
olcAttributeTypes: {8}( 1.3.6.1.4.1.15953.9.1.9 NAME 'sudoNotAfter' DESC 'Ro
d de interval de timp pentru care este valabilă intrarea' EGALITATE generalizatăTimeMa
tch ORDINARE generalizedTimeOrderingMatch SINTAXA 1.3.6.1.4.1.1466.115.121.1
.24)
olcAttributeTypes: {9}( 1.3.6.1.4.1.15953.9.1.10 NAME 'sudoOrder' DESC 'an i
nteger pentru a ordona intrările sudoRole EQUALITY integerMatch ORDERING întreg
rOrderingMatch SINTAXA 1.3.6.1.4.1.1466.115.121.1.27)
olcObjectClasses: {0}( 1.3.6.1.4.1.15953.9.2.1 NAME 'sudoRole' DESC 'Sudoer
SUP intrărilor de sus STRUCTURAL MUST cn MAI ( sudoUser $ sudoHost $ sudoCommand
$ sudoRunAs $ sudoRunAsUser $ sudoRunAsGroup $ sudoOption $ sudoOrder $ su
doNotBefore $ sudoNotAfter $ description ) )
Odată ce mi-am dat seama că fișierul este schema, l-am adăugat și, în sfârșit, am făcut totul să funcționeze, așa că într-un mod rotund, am acceptat răspunsul, deși a trebuit să cercetez mai mult ceea ce făceam. De altfel, fișierul schema nu a fost folosit în ldap-ul meu, a trebuit să-l adaug prin ldapadd