Puncte:0

Ce îmi lipsește pentru a configura accesul sudo cu openldap?

drapel cf

Folosesc containere lxd/lxc (Oracle Linux 8) pentru a implementa rapid mediul (deci, dacă aveți configurarea lxd, puteți modifica schema ip pentru a se potrivi cu subrețeaua/DNS-ul lxd și apoi lipiți codul în containere lxc separate).

Mă pot autentifica ca utilizatorul meu de testare „adam”, dar când încerc să configurez sudo pentru adam, îmi spune

Adam nu poate rula sudo pe <hostname>

Din câte îmi pot da seama, am totul configurat corect [pentru sudo].

LDAP: https://www.server-world.info/en/note?os=CentOS_7&p=openldap / https://kifarunix.com/install-and-setup-openldap-on-rocky-linux-8/

SSSD: https://kifarunix.com/configure-sssd-for-openldap-authentication-on-centos-8/

SUDO: https://kifarunix.com/how-to-configure-sudo-via-openldap-server/

Container LDAP

lxc stop ldapmaster --force; lxc șterge ldapmaster; Imagini de lansare lxc: oracle/8/amd64 ldapmaster; lxc exec ldapmaster passwd; Consola lxc ldapmaster

lipiți în containerul LDAP

ldaphostname="ldapmaster"
domeniu="exemplu"
suffix="com"
olcRootPW=1234
userpw=1234
binddnpw=1234
mgrpw=1234
DNS1=192.168.3.1
DNS2=192.168.3.2
LDAPMASTERIP=10.175.235.220
SSSDIP=10.175.235.210
NETMASKIP=255.255.255.0
GATEWAYIP=10.175.235.1


cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=$LDAPMASTERIP
NETMASKIP=$NETMASKIP
GATEWAY=$GATEWAYIP
DNS1=$DNS1
DNS2=$DNS2
ONBOOT=da
HOSTNAME=`cat /proc/sys/kernel/hostname`
TYPE=Ethernet
MTU=
DHCP_HOSTNAME=`cat /proc/sys/kernel/hostname`
IPV6INIT=da
EOF

ifdown eth0

ifup eth0

cat <<EOF > /etc/yum.repos.d/appstream.repo
[aplicație]
nume=Oracle Linux
baseurl=http://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

EOF

cat <<EOF > /etc/yum.repos.d/base.repo
[baza]
nume=Oracle Linux
baseurl=https://yum.oracle.com/repo/OracleLinux/OL8/3/baseos/base/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
proxy=http://www-proxy.web.boeing.com:31060
EOF

cat <<EOF > /etc/yum.repos.d/powertools.repo
[Unelte electrice]
nume=Oracle Linux
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL8/codeready/builder/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

EOF

echo "10.175.235.220 $ldaphostname $ldaphostname.$domain.$sufx" >> /etc/hosts

#https://www.server-world.info/en/note?os=CentOS_7&p=openldap
yum -y instalează openldap-server openldap-clients firewalld mlocate man openssl nume gazdă sssd-tools openssh-server nss-pam-ldapd nano --nobest

cat <<EOF > /etc/sudo-ldap.conf
binddn cn=Manager,dc=$domeniu,dc=$sufix
bindpw 1234
ssl start_tls
tls_cacertfile = /etc/pki/tls/cacert.crt
sudoers_base = ou=SUDOers,DC=$domeniu,DC=$sufix
tls_checkpeer yesuri ldaps://$ldaphostname:636
bind_timelimit 5
limita de timp 15
EOF

actualizatb
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
chown ldap. /var/lib/ldap/DB_CONFIG 
systemctl enable --now sshd
systemctl enable --now 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: $(slappasswd -s $olcRootPW)
EOF

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/ldapserver.key -out /etc/pki/tls/ldapserver.crt -subj "/C=XX/L=Oraș implicit /O=Default Company Ltd/CN=$ldaphostname"

chown ldap:ldap /etc/pki/tls/{ldapserver.crt,ldapserver.key}

cat > add-tls.ldif << 'EOL'
dn: cn=config
changetype: modifică
adăugați: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/pki/tls/ldapserver.crt
-
adăugați: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/pki/tls/ldapserver.key
-
adăugați: olcTLSCertificateFile
olcTLSCertificateFile: /etc/pki/tls/ldapserver.crt
EOL

cat <<EOF > /etc/openldap/ldap.conf
#
# Valori implicite LDAP
#

# Vezi ldap.conf(5) pentru detalii
# Acest fișier ar trebui să poată fi citit în întreaga lume, dar nu în scris.

BAZĂ dc=$domeniu,dc=$sufix
URI ldaps://$ldaphostname:636
#ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF niciodată

# Când nu sunt specificate certificate CA, certificatele de sistem partajate
# sunt în uz. Pentru a le avea la dispoziție împreună cu cele specificate
# prin TLS_CACERTDIR trebuie să le includă în mod explicit:
#TLS_CACERT /etc/pki/tls/cert.pem
TLS_CACERT /etc/pki/tls/ldapserver.crt

# Politicile Crypto la nivel de sistem oferă o suită de criptare actualizată, ceea ce ar trebui
# să fie folosit cu excepția cazului în care aveți nevoie de o selecție mai fină de cifruri. Prin urmare, cel
# PROFILE=Valoarea SYSTEM reprezintă comportamentul implicit care este în vigoare
# când nu este utilizată nicio setare explicită. (vezi openssl-ciphers(1) pentru mai multe informații)
#TLS_CIPHER_SUITE PROFILE=SISTEM

# Dezactivarea acestui lucru întrerupe GSSAPI folosit cu krb5 când rdns = false
SASL_NOCANON activat
sudoers_base ou=SUDOers,dc=$domeniu,dc=$sufix
SUDOERS_DEBUG 1
EOF

cat << 'EOF' > /etc/openldap/schema/sudo.ldif
dn: cn=sudo,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: sudo
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.1 NAME 'sudoUser' DESC 'Utilizatori care pot rula sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SINTAXA 1.3.6.1.1.1.146.1.1.1.
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.2 NAME 'sudoHost' DESC 'Gazdă(e) care poate rula sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SINTAXA 1.3.6.1.1.1.146.1.1.1.
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.3 NAME 'sudoCommand' DESC 'Comandă(e) care urmează să fie executată(e) de sudo' EQUALITY caseExactIA5Match SINTAXĂ 1.3.6.1.4.1.1466.1) .15.266.1
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.4 NAME 'sudoRunAs' DESC 'Utilizator(i) personificat(i) de sudo (depreciat)' EGALITATE caseExactIA5Match SINTAXA 1.3.6.1.4.1.1.146.1.1.146
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.5 NAME 'sudoOption' DESC 'Opțiuni(e) urmate de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4.1.1466.1.1466.1.15.2.
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.6 NAME 'sudoRunAsUser' DESC 'Utilizator(i) personificat(i) de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4.1.1466.1 .15.266.1
olcAttributeTypes: ( 1.3.6.1.4.1.15953.9.1.7 NAME 'sudoRunAsGroup' DESC 'Grup(uri) uzurpat(e) de sudo' EQUALITY caseExactIA5Match SINTAXA 1.3.6.1.4.1.1.146.1.15.26.
olcObjectClasses: ( 1.3.6.1.4.1.15953.9.2.1 NAME 'sudoRole' SUP top DESC STRUCTURAL 'Sudoer Entries' TREBUIE ( cn ) MAI ( sudoUser $ sudoHost $ sudoCommand $ sudoRunAs $ sudoRunAs $ sudoRunOptionAs $ sudoRundoR descriere)
EOF

cp /usr/share/doc/sudo/schema.OpenLDAP /etc/openldap/schema/sudo.schema

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/sudo.ldif
ldapadd -Y EXTERN -H ldapi:/// -f add-tls.ldif
ldapadd -Y EXTERNAL -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

mkdir /var/lib/openldap
chown ldap. /var/lib/openldap

cat > rootdn.ldif << 'EOL'
dn: olcDatabase=mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: mdb
OlcDbMaxSize: 42949672960
olcSuffix: dc=$domeniu,dc=$sufix
olcRootDN: cn=Manager,dc=$domeniu,dc=$sufix
olcRootPW: secret
olcDbDirectory: /var/lib/openldap
olcDbIndex: uid pres,eq
olcDbIndex: cn,sn pres,eq,aprox,sub
olcDbIndex: mail pres,eq,sub
olcDbIndex: objectClass pres,eq
olcDbIndex: loginShell pres,eq
olcDbIndex: sudoUser,sudoHost pres,eq
EOL

ldapadd -Y EXTERN -H ldapi:/// -f rootdn.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=$domain,dc=$sufix" citit de * niciunul

dn: olcDatabase={2}mdb,cn=config
changetype: modifică
înlocuiți: olcSuffix
olcSuffix: dc=$domeniu,dc=$sufix

dn: olcDatabase={2}mdb,cn=config
changetype: modifică
înlocuiți: olcRootDN
olcRootDN: cn=Manager,dc=$domeniu,dc=$sufix

dn: olcDatabase={2}mdb,cn=config
changetype: modifică
adăugați: olcRootPW
olcRootPW: $(slappasswd -s $olcRootPW)

dn: olcDatabase={2}mdb,cn=config
changetype: modifică
adăugați: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=$domain,dc=$sufix" scrie prin autentificare anonimă prin autoscriere prin * niciunul
olcAccess: {1}la dn.base="" prin * citiți
olcAccess: {2}la * prin dn="cn=Manager,dc=$domain,dc=$suffix" scrie prin * citește
olcAccess: to attrs=userPassword,shadowLastChange,shadowExpire
  prin autoscriere
  prin autorizare anonimă
  de dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" gestionați 
  de dn.subtree="ou=System,dc=$domain,dc=$sufix" citit
  de * niciunul
olcAccess: la dn.subtree="ou=System,dc=$domain,dc=$suffix" by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  de * niciunul
olcAccess: to dn.subtree="dc=$domain,dc=$suffix" by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  de către utilizatori citite 
  de * niciunul
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=$domeniu,dc=$sufix
objectClass: top
objectClass: dcObject
objectclass: organizare
o: $domeniu $sufix
dc: $domeniu

dn: cn=Manager,dc=$domeniu,dc=$sufix
objectClass: organizationalRole
cn: Manager
descriere: Director Manager

dn: ou=System,dc=$domeniu,dc=$sufix
objectClass: organizationalUnit
objectClass: top
ou: Sistem

dn: ou=Utilizatori,dc=$domeniu,dc=$sufix
objectClass: organizationalUnit
objectClass: top
ou: Utilizatori

dn: ou=Grupuri,dc=$domeniu,dc=$sufix
objectClass: organizationalUnit
objectClass: top
ou: Grupuri

EOF

ldapadd -x -w $olcRootPW -D cn=Manager,dc=$domeniu,dc=$sufix -f domeniul de bază.ldif

systemctl porni firewalld
systemctl activa firewalld
firewall-cmd --add-service={ldap,ldaps} --permanent 
firewall-cmd --reîncărcare

cat <<EOF > sudoersou.ldif
dn: ou=SUDOers,dc=$domeniu,dc=$sufix
objectClass: organizationalUnit
ou: SUDOeri
descriere: $domain-$sufix LDAP SUDO Entry
EOF

ldapadd -x -w $olcRootPW -D cn=Manager,dc=$domeniu,dc=$sufix -f sudoersou.ldif

cat <<EOF > utilizatori_n_grupuri.ldif

dn: cn=readonly,ou=System,dc=$domain,dc=$sufix
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: numai citire
userPassword: $(slappasswd -s $binddnpw)
descriere: Leagă utilizatorul DN pentru operațiuni LDAP

dn: uid=adam,ou=Utilizatori,dc=$domeniu,dc=$sufix
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
userPassword: $(slappasswd -s $userpw)
shadowLastChange: 0
umbrăMax: 0
umbrăAvertisment: 0
EOF
ldapadd -x -w $olcRootPW -D "cn=Manager,dc=$domeniu,dc=$sufix" -f users_n_groups.ldif

#cvtsudoers -b ou=SUDOers,dc=$domain,dc=$sufix -o sudoers.ldif /etc/sudoers

cat <<EOF > sudoers.ldif
dn: cn=valori implicite,ou=SUDOers,dc=$domeniu,dc=$sufix
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=COLORES 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
EOF

ldapadd -x -w $olcRootPW -D cn=Manager,dc=$domeniu,dc=$sufix -f sudoers.ldif

cat <<EOF > indsudoers.ldif
dn: cn=sudo,ou=SUDOers,dc=$domeniu,dc=$sufix
objectClass: top
objectClass: sudoRole
cn: sudo
sudoUtilizator: adam
sudoHost: TOATE
sudoRunAsUser: TOATE
sudoCommand: TOATE
EOF

ldapadd -x -w $olcRootPW -D cn=Manager,dc=$domeniu,dc=$sufix -f indsudoers.ldif

#ldappasswd -s $olcRootPW -w $userpw -D "cn=Manager,dc=$domeniu,dc=$sufix" -x "uid=adam,ou=Utilizatori,dc=$domeniu,dc=$sufix"

#ldappasswd -s $olcRootPW -w $binddnpw -D "cn=Manager,dc=$domeniu,dc=$sufix" -x "cn=doar citire,ou=Sistem,dc=$domeniu,dc=$sufix"

Container SSSD

lxc stop ldap-sssd-try2 --force; lxc șterge ldap-sssd-try2; Imagini de lansare lxc: oracle/8/amd64 ldap-sssd-try2; lxc exec ldap-sssd-try2 passwd; consola lxc ldap-sssd-try2;

lipiți în containerul SSSD

ldaphostname="ldapmaster"
domeniu="exemplu"
suffix="com"
olcRootPW=1234
userpw=1234
binddnpw=1234
mgrpw=1234
DNS1=192.168.3.1
DNS2=192.168.3.2
LDAPMASTERIP=10.175.235.220
SSSDIP=10.175.235.210
NETMASKIP=255.255.255.0
GATEWAYIP=10.175.235.1

cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=$SSSDIP
NETMASKIP=$NETMASKIP
GATEWAY=$GATEWAYIP
DNS1=$DNS1
DNS2=$DNS2
ONBOOT=da
HOSTNAME=`cat /proc/sys/kernel/hostname`
TYPE=Ethernet
MTU=
DHCP_HOSTNAME=`cat /proc/sys/kernel/hostname`
IPV6INIT=da
EOF

ifdown eth0

ifup eth0

cat <<EOF > /etc/yum.repos.d/appstream.repo
[aplicație]
nume=Oracle Linux
baseurl=http://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
EOF

cat <<EOF > /etc/yum.repos.d/base.repo
[baza]
nume=Oracle Linux
baseurl=https://yum.oracle.com/repo/OracleLinux/OL8/3/baseos/base/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
proxy=http://www-proxy.web.boeing.com:31060
EOF

cat <<EOF > /etc/yum.repos.d/powertools.repo
[Unelte electrice]
nume=Oracle Linux
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL8/codeready/builder/x86_64/
activat=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
EOF

echo "10.175.235.220 $ldaphostname $ldaphostname.$domain.$sufx" >> /etc/hosts

yum install -y nume gazdă openssh-server nmap openssl sssd sssd-tools oddjob-mkhomedir authselect openldap-clients openldap-server sssd-tools nss-pam-ldapd bind-utils nano mlocate --nobest

systemctl enable --now sshd

cat <<EOF > /etc/sudo-ldap.conf
binddn cn=Manager,dc=$domeniu,dc=$sufix
bindpw 1234
ssl start_tls
tls_cacertfile = /etc/pki/tls/cacert.crt
sudoers_base = ou=SUDOers,DC=$domeniu,DC=$sufix
tls_checkpeer yesuri ldaps://$ldaphostname:636
bind_timelimit 5
limita de timp 15
EOF

cat <<EOF > /etc/sssd/sssd.conf
[sssd]
servicii = nss, pam, sudo
config_file_version = 2
domenii = LDAP

[sudo]

[nss]

[pam]
offline_credentials_expiration = 60

[domeniu/LDAP]
ldap_id_use_start_tls = Adevărat
cache_credentials = Fals
ldap_search_base = dc=$domeniu,dc=$sufix
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
sudo_provider = ldap
ldap_uri = ldaps://$ldaphostname:636
ldap_chpass_uri = ldaps://$ldaphostname:636
#ldap_default_bind_dn = cn=Manager,dc=$domain,dc=$sufix
#ldap_default_authtok = $olcRootPW
ldap_default_bind_dn = cn=readonly,ou=System,dc=$domain,dc=$sufix
#nu pare să conteze dacă folosesc mapldap_default_authtok_type
#mapldap_default_authtok_type = parola
ldap_default_authtok = $binddnpw
ldap_user_search_base = ou=Utilizatori, DC=$domeniu, DC=$sufix
ldap_tls_reqcert = cerere
ldap_tls_cacert = /etc/pki/tls/cacert.crt
ldap_tls_cacertdir = /etc/pki/tls
ldap_search_timeout = 50
ldap_network_timeout = 60
ldap_sudo_search_base = ou=SUDOers,DC=$domeniu,DC=$sufix
ldap_access_order = filtru
ldap_access_filter = (objectClass=posixAccount)
EOF

authselect select sssd --force

chown -R rădăcină: /etc/sssd

chmod 600 -R /etc/sssd

systemctl enable --now sssd

cat <<EOF > /etc/openldap/ldap.conf
#
# Valori implicite LDAP
#

# Vezi ldap.conf(5) pentru detalii
# Acest fișier ar trebui să poată fi citit cu $sufix, dar nu să poată fi scris cu $sufix.

BAZĂ dc=$domeniu,dc=$sufix
URI ldaps://$ldaphostname:636
#SUDOers_BASE sau=SUDOers,dc=ldapmaster,dc=ldapmaster,dc=com

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF niciodată

# Când nu sunt specificate certificate CA, certificatele de sistem partajate
# sunt în uz. Pentru a le avea la dispoziție împreună cu cele specificate
# prin TLS_CACERTDIR trebuie să le includă în mod explicit:
#TLS_CACERT /etc/pki/tls/cert.pem
TLS_CACERT /etc/pki/tls/cacert.crt

# Politicile Crypto la nivel de sistem oferă o suită de criptare actualizată, ceea ce ar trebui
# să fie folosit cu excepția cazului în care aveți nevoie de o selecție mai fină de cifruri. Prin urmare, cel
# PROFILE=Valoarea SYSTEM reprezintă comportamentul implicit care este în vigoare
# când nu este utilizată nicio setare explicită. (vezi openssl-ciphers(1) pentru mai multe informații)
#TLS_CIPHER_SUITE PROFILE=SISTEM

# Dezactivarea acestui lucru întrerupe GSSAPI folosit cu krb5 când rdns = false
SASL_NOCANON activat
sudoers_base ou=SUDOers,dc=$domeniu,dc=$sufix
SUDOERS_DEBUG 1
EOF

openssl s_client -connect $ldaphostname:636 < /dev/null -showcerts | openssl x509 -text | sed -ne '
   /-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p # am primit intervalul, ok
   /-END CERTIFICATE-/q # salvarea imediat ce s-a văzut sfârșitul certificatului
' > /etc/pki/tls/cacert.crt

echo "sudoers: ldap files" >> /etc/nsswitch.conf

systemctl reporniți sssd

systemctl enable --now oddjobd

echo „sesiune opțională pam_oddjob_mkhomedir.so skel=/etc/skel/umask=0022” >> /etc/pam.d/system-auth

systemctl reporniți oddjobd

Dacă întreb folosind ldapsearch

domeniu="exemplu"
suffix="com"
export SUDOERS_BASE=ou=SUDOers,DC=$domeniu,DC=$sufix

ldapsearch -b "$SUDOERS_BASE" -D cn=Manager,DC=$domeniu,DC=$sufix -W -x adam

eu iau

Introduceți parola LDAP:
# LDIF extins
#
# LDAPv3
# de bază <ou=SUDOers,DC=example,DC=com> cu subarborele domeniului
# filtru: (objectclass=*)
# solicitând: adam
#

# SUDOeri, example.com
dn: ou=SUDOers,dc=exemplu,dc=com

# Adam, SUDOers, example.com
dn: cn=adam,ou=SUDOers,dc=exemplu,dc=com

# implicite, SUDOers, example.com
dn: cn=defaults,ou=SUDOers,dc=example,dc=com

# rezultatul căutării
cautare: 2
rezultat: 0 Succes

# numResponses: 4
# numEntries: 3

Dacă fug

domeniu="exemplu"
suffix="com"
export SUDOERS_BASE=ou=SUDOers,DC=$domeniu,DC=$sufix

ldapsearch -b „$SUDOERS_BASE” -D cn=Manager,DC=$domeniu,DC=$sufix -w 1234 -x

eu iau

# LDIF extins
#
# LDAPv3
# de bază <ou=SUDOers,DC=example,DC=com> cu subarborele domeniului
# filtru: (objectclass=*)
# solicită: TOATE
#

# SUDOeri, example.com
dn: ou=SUDOers,dc=exemplu,dc=com
objectClass: organizationalUnit
ou: SUDOeri
descriere: exemplu-com LDAP SUDO Entry

# sudo, SUDOers, example.com
dn: cn=sudo,ou=SUDOers,dc=exemplu,dc=com
objectClass: top
objectClass: sudoRole
cn: sudo
sudoUtilizator: adam
sudoHost: TOATE
sudoRunAsUser: TOATE
sudoCommand: TOATE

# implicite, SUDOers, example.com
dn: cn=defaults,ou=SUDOers,dc=example,dc=com
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=COLORES 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

# rezultatul căutării
cautare: 2
rezultat: 0 Succes

# numResponses: 4
# numEntries: 3
Puncte:0
drapel cf

problema a fost un spatiu in plus dupa /etc/nsswitch.conf

echo "sudoers: ldap files sss" >> /etc/nsswitch.conf

odată ce a fost corectat, a trebuit instalat

libsss_sudo

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.