CONTENT
  • CHANGES
Szukaj
counter

#top Instalacja


Instalację serwera OpenLDAP można wykonać na różne sposoby: od kompilacji ze źdródeł poprzez instalację pojedynczych paczek rpm za pomocą polecenia rpm skończywszy na instalacja z użyciem menedżera pakietów, który zainstaluje wszystkie niezbędne paczki wraz zależnościami.
Celem niniejszego dokumentu nie jest rozważanie różnych metod instalacji tylko nieco usprawnienie użyteczności konfiguracji serwera OpenLDAP po zainstalowaniu oraz wprowadzenie porządku / hierarchi położenia plików z których korzysta usługa w strukturze katalogowej.
Wszystko to zostało opisane poniżej.

#top Logging


W pierwszej kolejności należy utworzyć katalog na pliki logów:
mkdir -p /var/log/slapd

OpenLDAP bezpośrednio sam nie zapisuje informacji do plików. Wykorzystuje do tego celu demona syslog / rsyslog do którego wysyła informacje wywołując funkcję biblioteki systemowej syslog().
Bez względu na wersję demona syslog / rsyslog (zależnej od wersji systemu operacyjnego) włączenie odbieranie logów wysyłanych poprzez funkcję biblioteki systemowej konfiguruje się podobnie:

W pkiku konfiguracyjnym /etc/syslog.conf demona syslog dostępnego w systemie CentOS 5.* należy dodać zapis do pliku informacji pochodzących z facilities local4:
# openldap
local4.*                        /var/log/slapd/slapd.log

W pkiku konfiguracyjnym /etc/rsyslog.conf demona rsyslog dostępnego w systemie CentOS 6.* (i wyższych) należy dodać zapis do pliku informacji pochodzących z facilities local4:
# openldap
local4.*                        /var/log/slapd/slapd.log

Następnie należy jeszcze zadbać o rotację logów poprzez umieszczenie stosownej konfiguracji dla logrotate:
Zmiany jakie należy wprowadzić w /etc/logrotate.d/openldap:
cat > /etc/logrotate.d/openldap << EOF
# logrotate openldap
/var/log/slapd/*.log {
    notifempty
    missingok
    postrotate
        /bin/kill -HUP \`cat /var/run/*syslogd.pid 2> /dev/null\` 2> /dev/null || true
    endscript
}
EOF



#top Poinstalacyjna konfiguracja


#top Sytem configure


W pierwszej kolejności należy skopiować plik konfiguracyjny we właściwie miejsce (zgodnie z ustawioną wcześniej ścieżką przekazywaną jako argument wiersza poleceń):
cp -av /etc/openldap/slapd.conf.bak /etc/openldap/slapd.conf

Dodanie pliku konfiguracyjnego slapd.conf do argumentów wiersza poleceń
sed 's,^#SLAPD_OPTIONS=,SLAPD_OPTIONS="-f /etc/openldap/slapd.conf",g' -i /etc/sysconfig/ldap
cat /etc/sysconfig/ldap | grep  SLAPD_OPTIONS

Otrzymany rezultat powinien być analogiczny do poniższego:
SLAPD_OPTIONS="-f /etc/openldap/slapd.conf"



#top Enable TLS encryption OpenLDAP


Poniższe zmiany są niezbędne do aktywowania obsługi szyfrowanych połączeń TLS nawiązywanych na porcie 636/tcp / ldaps (LDAP over SSL), natomiast aktywowanie obsługi szyfrowanych połączeń TLS na domyślnym porcie 389/tcp / ldap zgodnie z komentarzem w pliku konfiguracyjnym slapd.conf wymaga ustawienia opcji TLSCACertificateFile TLSCertificateFile TLSCertificateKeyFile poprzez podanie ścieżek do pliku i klucza z certyfikatem oraz CA certyfikatów.
sed 's,^#SLAPD_LDAPS.*$,SLAPD_LDAPS=yes,g' -i /etc/sysconfig/ldap
sed 's,^SLAPD_LDAPS.*$,SLAPD_LDAPS=yes,g' -i /etc/sysconfig/ldap
cat /etc/sysconfig/ldap | grep  SLAPD_LDAPS

Otrzymany rezultat powinien być analogiczny do poniższego:
# At least one of SLAPD_LDAP, SLAPD_LDAPI and SLAPD_LDAPS must be set to 'yes'!
SLAPD_LDAPS=yes



Generate the required certificates:
openssl req -new -x509 -nodes -text -out /etc/pki/tls/certs/slapd.crt -keyout /etc/pki/tls/certs/slapd.key -days 365

Ustawienie prawidłowych atrybutów dla wygenerowanego pliku i klucza certyfikatu:
chown -Rf root:ldap /etc/pki/tls/certs/slapd.crt
chown -Rf root:ldap /etc/pki/tls/certs/slapd.key
chmod -Rf 640 /etc/pki/tls/certs/slapd.key

Sprawdzenie ustawionych atrybutów dla wygenerowanego wcześniej pliku i klucza certyfikatu:
ll /etc/pki/tls/certs/slapd.crt /etc/pki/tls/certs/slapd.key

Otrzymany rezultat powinien być analogiczny do poniższego:
-rw-r--r--. 1 root ldap 4472 2013-06-11 22:19 /etc/pki/tls/certs/slapd.crt
-rw-r-----. 1 root ldap 1704 2013-06-11 22:19 /etc/pki/tls/certs/slapd.key



Następnie należy odkomentować ustawienia dotyczące certyfikatu oraz klucza używanego przy nawiązywaniu szyfrowanych połączeń TLS.
sed 's,^# TLSCACertificateFile,TLSCACertificateFile,g' -i /etc/openldap/slapd.conf
sed 's,^# TLSCertificateFile.*$,TLSCertificateFile /etc/pki/tls/certs/slapd.crt,g' -i /etc/openldap/slapd.conf
sed 's,^# TLSCertificateKeyFile.*$,TLSCertificateKeyFile /etc/pki/tls/certs/slapd.key,g' -i /etc/openldap/slapd.conf

cat /etc/openldap/slapd.conf | grep  -E 'TLSCACertificateFile|TLSCertificateFile|TLSCertificateKeyFile'

Otrzymany rezultat powinien być analogiczny do poniższego:
TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.crt
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.key



#top Daemon configure slapd.conf


http://www.openldap.org/doc/admin24/quickstart.html

Wygenerowanie hasła dla Manager do zarządzania serwerem oraz wprowadzania zmian jako administrator (oczywiście ciąg znaków PASSWORD należy zastąpić własnym ściśle tajnym hasłem, którego nie udostępniać należy nikomu):
slappasswd -h {SHA} -s PASSWORD

Otrzymany rezultat powinien być analogiczny do poniższego:
New password:
Re-enter new password:
{SHA}ESu3kTBHkd3PaS4p/VzxSbNf6jc=

Wprowadzenie dodatkowych zmian w pliku konfiguracyjnym slapd.conf:
sed 's/^checkpoint/#checkpoint/g' -i /etc/openldap/slapd.conf
sed 's/^suffix.*$/suffix      "dc=wbcd,dc=pl"/g' -i /etc/openldap/slapd.conf
sed 's/^rootdn.*$/rootdn      "cn=Manager,dc=wbcd,dc=pl"/g' -i /etc/openldap/slapd.conf
sed '/^rootpw.*/d' -i /etc/openldap/slapd.conf
sed 's|^\(.*rootpw.*crypt.*\)$|\1\nrootpw      {SHA}ESu3kTBHkd3PaS4p/VzxSbNf6jc=|g' -i /etc/openldap/slapd.conf
cat /etc/openldap/slapd.conf | grep  -E '^#checkpoint|^suffix|^rootdn|^rootpw|^directory'

Otrzymany rezultat powinien być analogiczny do poniższego:
suffix      "dc=wbcd,dc=pl"
#checkpoint     1024 15
rootdn      "cn=Manager,dc=wbcd,dc=pl"
rootpw      {SHA}ESu3kTBHkd3PaS4p/VzxSbNf6jc=
directory       /var/lib/ldap

Weryfikacja wprowadzonych w sposób automatyczny zmian:
vi /etc/openldap/slapd.conf

Istotne wprowadzone zmiany powininny być analogiczne do poniższych:
database    bdb
suffix      "dc=wbcd,dc=pl"
#checkpoint 1024 15
rootdn      "cn=Manager,dc=wbcd,dc=pl"
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# rootpw        secret
# rootpw        {crypt}ijFYNcSNctBYg
rootpw      {SHA}ESu3kTBHkd3PaS4p/VzxSbNf6jc=

# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory   /var/lib/ldap



Na koniec należy skopiować plik DB_CONFIG do katalogu z bazą danych OpenLDAP:
cp -av /usr/share/doc/openldap-servers-*/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -Rfv ldap:ldap /var/lib/ldap/



Po wykonaniu powyższych kroków należy uruchomić (lub uruchomić ponownie) serwer OpenLDAP:
# /etc/init.d/slapd start
/etc/init.d/slapd restart

Otrzymany rezultat powinien być analogiczny do poniższego:
Stopping slapd:                                            [  OK  ]
Starting slapd:                                            [  OK  ]



#top Create LDAP Database


#top Create LDAP ROOT Tree


Przygotowanie struktury drzewa bazy LDAP:
Zawartość pliku /etc/openldap/schema/base.ldif:
cat > /etc/openldap/schema/base.ldif << EOF
dn: dc=wbcd,dc=pl
objectClass: top
objectClass: domain
o: Webbot Inc.
dc: wbcd

dn: cn=Manager,dc=wbcd,dc=pl
objectClass: top
objectClass: organizationalRole
cn: Manager

dn: ou=users,dc=wbcd,dc=pl
ou: users
objectClass: top
objectClass: organizationalUnit

dn: ou=groups,dc=wbcd,dc=pl
ou: groups
objectClass: top
objectClass: organizationalUnit
EOF



Zawartość pliku /etc/openldap/schema/group.ldif:
cat > /etc/openldap/schema/group.ldif << EOF
dn: cn=admin,ou=groups,dc=wbcd,dc=pl
objectClass: posixGroup
objectClass: top
cn: admin
gidNumber: 999
EOF



Zawartość pliku /etc/openldap/schema/users.ldif:
cat > /etc/openldap/schema/users.ldif << EOF
dn: uid=admin,ou=users,dc=wbcd,dc=pl
uid: admin
cn: admin
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: password
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 999
gidNumber: 999
homeDirectory: /home/ldap
EOF



Dodanie do bazy struktury drzewa LDAP:
ldapadd -x -D "cn=Manager,dc=wbcd,dc=pl" -w PASSWORD -f /etc/openldap/schema/base.ldif
ldapadd -x -D "cn=Manager,dc=wbcd,dc=pl" -w PASSWORD -f /etc/openldap/schema/group.ldif
ldapadd -x -D "cn=Manager,dc=wbcd,dc=pl" -w PASSWORD -f /etc/openldap/schema/users.ldif

Otrzymany rezultat powinien być analogiczny do poniższego:
adding new entry "dc=wbcd,dc=pl"

adding new entry "cn=Manager,dc=wbcd,dc=pl"

adding new entry "ou=users,dc=wbcd,dc=pl"

adding new entry "ou=groups,dc=wbcd,dc=pl"

adding new entry "cn=admin,ou=groups,dc=wbcd,dc=pl"

adding new entry "uid=admin,ou=users,dc=wbcd,dc=pl"



Przy pomocy poniższych poleceń można sprawdzić dodane wpisy do bazy LDAP:
ldapsearch -x -b 'dc=wbcd,dc=pl' '(objectClass=*)'
ldapsearch -H ldap://cen06x64.xen.wbcd.pl -x -b 'dc=wbcd,dc=pl' '(objectClass=*)'
ldapsearch -H ldap://cen06x64.xen.wbcd.pl -x -b 'dc=wbcd,dc=pl' -w "" '(objectClass=*)'
ldapsearch -H ldap://cen06x64.xen.wbcd.pl -x -D 'cn=Manager,dc=wbcd,dc=pl' -b 'dc=wbcd,dc=pl' -w PASSWORD '(objectClass=*)'



#top Enable TLS encryption connection to OpenLDAP


W celu zapewnienia szyfrowanej i bezpiecznej komunikacji do serwera OpenLDAP należy upewnić się, że odpowiednie opcje są ustawione analogicznie:

Zmiany wprowadzone w dystrybucji CentOS w wersji 5.* powinny być analogiczne do poniższych:

Plik /etc/ldap.conf powinien zawierać ustawienia analogiczne do poniższych:
# OpenLDAP SSL mechanism
# start_tls mechanism uses the normal LDAP port, LDAPS typically 636
ssl start_tls
#ssl on
#tls_checkpeer yes
tls_ciphers TLSv1
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts

Plik /etc/openldap/ldap.conf powinien zawierać ustawienia analogiczne do poniższych:
TLS_CACERTDIR /etc/openldap/cacerts
TLS_CACERT /etc/pki/tls/certs/slapd.crt



Zmiany wprowadzone w dystrybucji CentOS w wersji 6.* powinny być analogiczne do poniższych:

Plik /etc/pam_ldap.conf powinien zawierać ustawienia analogiczne do poniższych:
# OpenLDAP SSL mechanism
# start_tls mechanism uses the normal LDAP port, LDAPS typically 636
ssl start_tls
#ssl on
#tls_checkpeer yes
tls_ciphers TLSv1
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts

Plik /etc/nslcd.conf powinien zawierać ustawienia analogiczne do poniższych:
# Use StartTLS without verifying the server certificate.
ssl start_tls
#ssl on
#tls_reqcert never
tls_ciphers TLSv1
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts

Plik /etc/openldap/ldap.conf powinien zawierać ustawienia analogiczne do poniższych:
TLS_CACERTDIR /etc/openldap/cacerts
TLS_CACERT /etc/pki/tls/certs/slapd.crt



Zmiany wprowadzone w dystrybucji CentOS w wersji 7.* powinny być analogiczne do poniższych:

Plik /etc/nslcd.conf powinien zawierać ustawienia analogiczne do poniższych:
# Use StartTLS without verifying the server certificate.
ssl start_tls
#tls_reqcert never
tls_ciphers TLSv1
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts

Plik /etc/openldap/ldap.conf powinien zawierać ustawienia analogiczne do poniższych:
TLS_CACERTDIR /etc/openldap/cacerts
TLS_CACERT /etc/pki/tls/certs/slapd.crt



Dodatkowo z serwera OpenLDAP należy jeszcze skopiować certyfikat oraz klucz używany do szyfrowanych połączeń TLS:
# rsync -avh root@ipaddress:/etc/pki/tls/certs/slapd*.pem /etc/pki/tls/certs/
rsync -rav /etc/pki/tls/certs/slapd*.pem root@10.41.0.54:/etc/pki/tls/certs/
rsync -rav /etc/pki/tls/certs/slapd*.pem root@10.41.0.56:/etc/pki/tls/certs/
rsync -rav /etc/pki/tls/certs/slapd*.pem root@10.41.0.58:/etc/pki/tls/certs/
rsync -rav /etc/pki/tls/certs/slapd*.pem root@10.41.0.57:/etc/pki/tls/certs/



#top Create LDAP Tree Service (ssh)


#top Create LDAP Tree Service (ssh) configure


# useful only for testing server, not needed on clients
# -----------------------------------------------------
# ldapadd, ldapmodify, ldapdelete, ldapsearch,
rpm -ivh /mnt/iso/CentOS053/4of6/CentOS/openldap-clients-2.3.43-3.el5.i386.rpm
rpm -ivh /mnt/iso/CentOS062/DVD1/Packages/openldap-clients-2.4.23-20.el6.i686.rpm
rpm -ivh /mnt/iso/CentOS060x64/DVD1/Packages/openldap-clients-2.4.19-15.el6.x86_64.rpm
rpm -ivh /mnt/iso/CentOS073x64/DVD/Packages/openldap-clients-2.4.40-13.el7.x86_64.rpm

rpm -ivh /mnt/iso/CentOS053/1of6/CentOS/nscd-2.5-34.i386.rpm /mnt/iso/CentOS053/1of6/CentOS/nss_ldap-253-17.el5.i386.rpm /mnt/iso/CentOS053/1of6/CentOS/fipscheck-1.0.3-1.el5.i386.rpm
rpm -ivh /mnt/iso/CentOS062/DVD1/Packages/nscd-2.12-1.47.el6.i686.rpm /mnt/iso/CentOS062/DVD1/Packages/pam_ldap-185-11.el6.i686.rpm /mnt/iso/CentOS062/DVD1/Packages/nss-pam-ldapd-0.7.5-14.el6.i686.rpm
rpm -ivh /mnt/iso/CentOS060x64/DVD1/Packages/nscd-2.12-1.7.el6.x86_64.rpm /mnt/iso/CentOS060x64/DVD1/Packages/pam_ldap-185-5.el6.x86_64.rpm /mnt/iso/CentOS060x64/DVD1/Packages/nss-pam-ldapd-0.7.5-3.el6.x86_64.rpm
rpm -ivh /mnt/iso/CentOS073x64/DVD/Packages/nscd-2.17-157.el7.x86_64.rpm /mnt/iso/CentOS073x64/DVD/Packages/nss-pam-ldapd-0.8.13-8.el7.x86_64.rpm


Zmiany w plikach systemowych można zawierających konfigurację autoryzacji oczywiście wprowadzić poprzez edycję plików, jednakże nie jest to zalecane. W tym celu można użyć narzędzia authconfig, które samo wprowadzi stosowne zmiany w odpowiednich plikach. Poniższe polecenie należy uruchomić na hostach, na których autoryzacja odbywać się będzie przy użyciu serwera LDAP.
authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver="ldap://10.41.0.58" --ldapbasedn="dc=wbcd,dc=pl" --updateall

Po wykonaniu powyższego kroku można sprawdzić zmiany wprowadzone w pliku konfiguracyjnym /etc/sysconfig/authconfig:
cat /etc/sysconfig/authconfig | grep  -E 'USEMKHOMEDIR|USELDAPAUTH|USELDAP'

Otrzymany rezultat powinien być analogiczny do poniższego:
USEMKHOMEDIR=yes
USELDAPAUTH=yes
USELDAP=yes

Istotne wprowadzone zmiany w pliku konfiguracyjnym /etc/nsswitch.conf powinny być analogiczne do poniższych:
passwd:     files ldap
shadow:     files ldap
group:      files ldap

W dystrybucji CentOS 6.* (32bit/i386) pomimo obecności pliku konfiguracyjnego /etc/pam_ldap.conf to mimo wszystko konieczne jest utworzenie pliku symbolicznego /etc/ldap.conf wskazującego na właściwy plik aby ustawienia działały prawidłowo.
lrwxrwxrwx. 1 root root   13 Nov 27 14:47 /etc/ldap.conf -> pam_ldap.conf



Zmiany jakie zostały wprowadzone w dystrybucji CentOS w wersji 5.* można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/openldap/ldap.conf:15:BASE dc=wbcd,dc=pl
/etc/ldap.conf:20:base dc=wbcd,dc=pl

Zmiany jakie zostały wprowadzone w dystrybucji CentOS w wersji 6.* można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/pam_ldap.conf:20:base dc=wbcd,dc=pl
/etc/openldap/ldap.conf:15:BASE dc=wbcd,dc=pl
/etc/nslcd.conf:132:base dc=wbcd,dc=pl

Zmiany jakie zostały wprowadzone w dystrybucji CentOS w wersji 7.* można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/nslcd.conf:25:base dc=wbcd,dc=pl
/etc/openldap/ldap.conf:20:BASE dc=wbcd,dc=pl



W dystrybucji CentOS 5.* w pliku konfiguracyjnym /etc/ldap.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
[...]
# The distinguished name of the search base.
base ou=users,dc=wbcd,dc=pl
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen05dev
[...]
# sudoers_debug - useful for troubleshotting
#sudoers_debug 2
uri ldap://10.41.0.58
ssl no
tls_cacertdir /etc/openldap/cacerts
tls_cacertfile /etc/pki/tls/certs/slapd.crt
pam_password md5
sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl



W dystrybucji CentOS 6.* (32bit/i386) w pliku konfiguracyjnym /etc/pam_ldap.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
[...]
# The distinguished name of the search base.
base ou=users,dc=wbcd,dc=pl
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev
[...]
# sudoers_debug - useful for troubleshotting
#sudoers_debug 2
uri ldap://10.41.0.58
ssl no
tls_cacertdir /etc/openldap/cacerts
tls_cacertfile /etc/pki/tls/certs/slapd.crt
pam_password md5
sudoers_base ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl

W dystrybucji CentOS 6.* (32bit/i386) w pliku konfiguracyjnym /etc/nslcd.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
# This comment prevents repeated auto-migration of settings.
uri ldap://10.41.0.250
base dc=wbcd,dc=pl
ssl no
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts



W dystrybucji CentOS 6.* (64bit/x86_64) w pliku konfiguracyjnym /etc/pam_ldap.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
[...]
# The distinguished name of the search base.
base ou=users,dc=wbcd,dc=pl
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64
[...]
# sudoers_debug - useful for troubleshotting
#sudoers_debug 2
uri ldap://10.41.0.58
ssl no
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts
pam_password md5
sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl

W dystrybucji CentOS 6.* (64bit/x86_64) w pliku konfiguracyjnym /etc/nslcd.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
# This comment prevents repeated auto-migration of settings.
uri ldap://10.41.0.250
base dc=wbcd,dc=pl
ssl no
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts



W dystrybucji CentOS 7.* (64bit/x86_64) nie ma pliku konfiguracyjnego /etc/pam_ldap.conf, wszystkie zmiany należy wprowadzać do pliku /etc/nslcd.conf.
W dystrybucji CentOS 7.* (64bit/x86_64) w pliku konfiguracyjnym /etc/nslcd.conf należy wprowadzić zmiany analogiczne do poniższych (oczywiście zgodne posiadaną strukturą LDAP):
# This comment prevents repeated auto-migration of settings.
uri ldap://10.41.0.58
base dc=wbcd,dc=pl
filter passwd (&(objectClass=posixAccount)(ou=cen07x64))
filter shadow (&(objectClass=posixAccount)(ou=cen07x64))
filter group  (&(objectClass=posixAccount)(ou=cen07x64))
[...]
ssl no
tls_cacertfile /etc/pki/tls/certs/slapd.crt
tls_cacertdir /etc/openldap/cacerts



W pliku konfiguracyjnym /etc/openldap/ldap.conf należy wprowadzić zmiany analogiczne do poniższych:
URI ldap://10.41.0.58
BASE dc=wbcd,dc=pl
TLS_CACERTDIR /etc/openldap/cacerts
TLS_CACERT /etc/pki/tls/certs/slapd.crt



Aby system przy autoryzacji użytkowników korzystał również z bazy LDAP należy jeszcze wprowadzić stosowne zmiany w PAM (Pluggable Authentication Modules):

W dystrybucji CentOS 5.* w pliku konfiguracyjnym /etc/pam.d/system-auth wprowadzone zmiany powinny być analogiczne do poniższych:
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so
session     required      pam_mkhomedir.so skel=/etc/skel umask=0077
W pliku konfiguracyjnym /etc/pam.d/password-auth wprowadzanie zmian nie jest wymagane.

W dystrybucji CentOS 6.* (32bit/i386) w pliku konfiguracyjnym /etc/pam.d/system-auth niezbędne jest wprowadzenie zmian wynikających z obecności modułu PAM pam_sssd.so.
Jan 01 00:00:00 cen06dev sshd[26848]: fatal: Access denied for user sp by PAM account configuration

W dystrybucji CentOS 6.* (32bit/i386) w pliku konfiguracyjnym /etc/pam.d/system-auth wprowadzone zmiany powinny być analogiczne do poniższych:
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
#auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
#account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
#password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
#session     optional      pam_mkhomedir.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so
session     required      pam_mkhomedir.so skel=/etc/skel umask=0077
#session     optional      pam_sss.so
/etc/pam.d/password-auth
W pliku konfiguracyjnym /etc/pam.d/password-auth wprowadzanie zmian nie jest wymagane.

W dystrybucji CentOS 6.* (64bit/x86_64) w pliku konfiguracyjnym /etc/pam.d/system-auth wprowadzone zmiany powinny być analogiczne do poniższych:
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
#session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so
session     optional      pam_mkhomedir.so skel=/etc/skel umask=0077
/etc/pam.d/password-auth
W pliku konfiguracyjnym /etc/pam.d/password-auth wprowadzanie zmian nie jest wymagane.

W dystrybucji CentOS 7.* w pliku konfiguracyjnym /etc/pam.d/system-auth oraz /etc/pam.d/password-auth niezbędne jest wprowadzenie zmian wynikających ze zmiany minimalnej wartości uid, która została przyjęta jako uid należący do konta zwykłego użytkownika (nie systemowego).

W dystrybucji CentOS 7.* w pliku konfiguracyjnym /etc/pam.d/system-auth wprowadzone zmiany powinny być analogiczne do poniższych:
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
#auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
#account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
#session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so
session     required      pam_mkhomedir.so skel=/etc/skel umask=0077

W dystrybucji CentOS 7.* w pliku konfiguracyjnym /etc/pam.d/password-auth wprowadzone zmiany powinny być analogiczne do poniższych:
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
#auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        requisite     pam_succeed_if.so uid >= 500 quiet_success
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
#account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so



Na koniec wprowadzone zmiany związane z Domain Component w dystrybucji CentOS w wersji 5.* można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/openldap/ldap.conf:15:BASE dc=wbcd,dc=pl
/etc/ldap.conf:20:base dc=wbcd,dc=pl
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen05dev
/etc/ldap.conf:304:#sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
/etc/ldap.conf:305:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/ldap.conf:306:sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z Domain Component w dystrybucji CentOS w wersji 6.* (32bit/i386) można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/pam_ldap.conf:20:base dc=wbcd,dc=pl
/etc/pam_ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev
/etc/pam_ldap.conf:298:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/pam_ldap.conf:299:sudoers_base ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl
/etc/openldap/ldap.conf:15:BASE dc=wbcd,dc=pl
/etc/ldap.conf:20:base dc=wbcd,dc=pl
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev
/etc/ldap.conf:298:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/ldap.conf:299:sudoers_base ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl
/etc/nslcd.conf:135:base dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z Domain Component w dystrybucji CentOS w wersji 6.* (64bit/x86_64) można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/pam_ldap.conf:20:base dc=wbcd,dc=pl
/etc/pam_ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64
/etc/pam_ldap.conf:298:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/pam_ldap.conf:299:sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
/etc/openldap/ldap.conf:15:BASE dc=wbcd,dc=pl
/etc/ldap.conf:20:base dc=wbcd,dc=pl
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64
/etc/ldap.conf:298:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/ldap.conf:299:sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
/etc/nslcd.conf:135:base dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z Domain Component w dystrybucji CentOS w wersji 7.* (64bit/x86_64) można sprawdzić następująco:
grep dc=wbcd -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/nslcd.conf:25:base dc=wbcd,dc=pl
/etc/sudo-ldap.conf:93:sudoers_base ou=sudoers,dc=wbcd,dc=pl
/etc/sudo-ldap.conf:94:sudoers_base ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
/etc/openldap/ldap.conf:20:BASE dc=wbcd,dc=pl



Na koniec wprowadzone zmiany związane z Organization Unit w dystrybucji CentOS w wersji 5.* można sprawdzić następująco:
grep ou=cen05dev -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen05dev

Na koniec wprowadzone zmiany związane z Organization Unit w dystrybucji CentOS w wersji 6.* (32bit/i386) można sprawdzić następująco:
grep ou=cen06dev -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/pam_ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev

Na koniec wprowadzone zmiany związane z Organization Unit w dystrybucji CentOS w wersji 6.* (64bit/x86_64) można sprawdzić następująco:
grep ou=cen06x64 -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/pam_ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64
/etc/ldap.conf:21:nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64

Na koniec wprowadzone zmiany związane z Organization Unit w dystrybucji CentOS w wersji 7.* (64bit/x86_64) można sprawdzić następująco:
grep ou=cen07x64 -nr /etc/
Otrzymany rezultat powinien być analogiczny do poniższego:
/etc/nslcd.conf:26:filter passwd (&(objectClass=posixAccount)(ou=cen07x64))
/etc/nslcd.conf:27:filter shadow (&(objectClass=posixAccount)(ou=cen07x64))
/etc/nslcd.conf:28:filter group  (&(objectClass=posixAccount)(ou=cen07x64))



#top Create LDAP Tree Service (ssh) LDAP tree


/root/tmp/ldap/pl-wbcd-users-sp.ldif
cat > /root/tmp/ldap/pl-wbcd-users-sp.ldif << EOF
dn: uid=sp,ou=users,dc=wbcd,dc=pl
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: sp
cn: sp
sn: Fine
mail: sp@cen06x64.xen.wbcd.pl
mail: root@cen06x64.xen.wbcd.pl
uidNumber: 501
gidNumber: 100
loginShell: /bin/bash
homeDirectory: /home/sp
shadowLastChange: 14368
shadowMin: 0
shadowMax: 999999
shadowWarning: 7
userpassword: spSPsp
title: Account Executive
#destinationindicator: /bios/images/lfine.jpg
EOF

ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD 'uid=sp,ou=users,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD -f /root/tmp/ldap/pl-wbcd-users-sp.ldif



/root/tmp/ldap/pl-wbcd-users-ola.ldif
cat > /root/tmp/ldap/pl-wbcd-users-ola.ldif << EOF
dn: uid=ola,ou=users,dc=wbcd,dc=pl
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: ola
cn: ola
sn: Fine
mail: ola@cen06x64.xen.wbcd.pl
uidNumber: 503
gidNumber: 100
gecos: Larry Fine
givenname: Ola
loginShell: /bin/bash
homeDirectory: /home/ola
shadowLastChange: 14368
shadowMin: 0
shadowMax: 999999
shadowWarning: 7
userpassword: olaOLAola
description: ola at cen06x64 Linux CentOS virt machine
# Base64 encoded JPEG photo
# jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
# A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
# ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
# JPEG photo from file
# jpegPhoto:< file:///path/to/file.jpeg
EOF

ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD 'uid=ola,ou=users,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD -f /root/tmp/ldap/pl-wbcd-users-ola.ldif



ldapsearch -x -b "ou=users,dc=wbcd,dc=pl" 'cn=sp'
ldapsearch -x -b "ou=users,dc=wbcd,dc=pl" 'cn=ola'
ldapsearch -H ldap://cen06x64.xen.wbcd.pl -x -b "ou=users,dc=wbcd,dc=pl" 'cn=sp'
ldapsearch -H ldap://cen06x64.xen.wbcd.pl -x -b "ou=users,dc=wbcd,dc=pl" 'cn=ola'



Po wprowadzeniu powyższych zmian należy jeszcze uruchomić (ustawić automatycznie uruchamianie usług oraz uruchomić ponownie niezbędne usługi):

W dystrybucji CentOS w wersji 5.* należy to zrobić w następujący sposób:
chkconfig nscd on
/etc/init.d/nscd restart

W dystrybucji CentOS w wersji 6.* należy to zrobić w następujący sposób:
chkconfig nscd on
chkconfig nslcd on
/etc/init.d/nscd restart
/etc/init.d/nslcd restart

W dystrybucji CentOS w wersji 7.* należy to zrobić w następujący sposób:
systemctl enable nscd
systemctl enable nslcd
systemctl restart nscd
systemctl restart nslcd



W celu umożliwienia użytkownikom logowania się na poszczególne serwery, należy każdemu użytkownikowi dodać odpowiedni wpis zezwalający na logowanie, po którym serwer dokonuje filtracji w drzewie LDAP.
after adding attribute ou we can login over ssh into machine
ou: cen05dev - uid have ou can login into machine cen05dev
ou: cen06dev - uid have ou can login into machine cen06dev
ou: cen06x64 - uid have ou can login into machine cen06x64
ou: cen07x64 - uid have ou can login into machine cen07x64

W dystrybucji CentOS w wersji 5.* w pliku /etc/ldap.conf zdefiniowany jest następujący filtr:
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen05dev

W dystrybucji CentOS w wersji 6.* w pliku /etc/pam_ldap.conf zdefiniowany jest następujący filtr:
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06dev

W dystrybucji CentOS w wersji 6.* w pliku /etc/pam_ldap.conf zdefiniowany jest następujący filtr:
nss_base_passwd ou=users,dc=wbcd,dc=pl?one?ou=cen06x64

W dystrybucji CentOS w wersji 7.* w pliku /etc/nslcd.conf zdefiniowany jest następujący filtr:
filter passwd (&(objectClass=posixAccount)(ou=cen07x64))



Na konieć należy dodać jeszcze stosowne wpisy do bazy LDAP:

Zawartość pliku /root/tmp/ldap/pl-wbcd-users-sp-add-host.ldif:
cat > /root/tmp/ldap/pl-wbcd-users-sp-add-host.ldif << EOF
dn: uid=sp,ou=users,dc=wbcd,dc=pl
add: ou
ou: cen05dev
ou: cen06dev
ou: cen06x64
ou: cen07x64
EOF

Zawartość pliku /root/tmp/ldap/pl-wbcd-users-ola-add-host.ldif:
cat > /root/tmp/ldap/pl-wbcd-users-ola-add-host.ldif << EOF
dn: uid=ola,ou=users,dc=wbcd,dc=pl
add: ou
ou: cen05dev
ou: cen06dev
ou: cen06x64
ou: cen07x64
EOF

ldapmodify -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD -f /root/tmp/ldap/pl-wbcd-users-sp-add-host.ldif
ldapmodify -x -D 'cn=Manager,dc=wbcd,dc=pl' -w PASSWORD -f /root/tmp/ldap/pl-wbcd-users-ola-add-host.ldif



W celu przetestowania czy przygotowana konfiguracja działa należy zalogować się na poszczególne serwery używając przygotowanych kont:



ssh 10.41.0.54 -l sp "w"

ssh 10.41.0.54 -l ola "w"

Otrzymany rezultat powinien być analogiczny do poniższego:
Creating directory '/home/sp'.
Creating directory '/home/sp/Maildir'.
Creating directory '/home/sp/Maildir/.Sent'.
Creating directory '/home/sp/Maildir/.Trash'.
Creating directory '/home/sp/Maildir/.Drafts'.
Creating directory '/home/sp/Maildir/.Templates'.
Creating directory '/home/sp/tmp'.

Creating directory '/home/ola'.
Creating directory '/home/ola/Maildir'.
Creating directory '/home/ola/Maildir/.Sent'.
Creating directory '/home/ola/Maildir/.Trash'.
Creating directory '/home/ola/Maildir/.Drafts'.
Creating directory '/home/ola/Maildir/.Templates'.
Creating directory '/home/ola/tmp'.



ssh 10.41.0.56 -l sp

ssh 10.41.0.56 -l ola

Otrzymany rezultat powinien być analogiczny do poniższego:
Creating directory '/home/sp'.
Creating directory '/home/ola'.



ssh 10.41.0.58 -l sp

ssh 10.41.0.58 -l ola

Otrzymany rezultat powinien być analogiczny do poniższego:
Creating directory '/home/sp'.
Creating directory '/home/ola'.



ssh 10.41.0.57 -l sp

ssh 10.41.0.57 -l ola



#top Create LDAP Tree Service (sudo)


#top Create LDAP Tree Service (sudo) configure


W pierwszej kolejności należy utworzyć katalog schema w katalogu konfiguracyjnym serwera OpenLDAP (jeśli takowy jeszcze nie istnieje), a następnie skopiować plik sudoers.schema we właściwie miejsce (zgodnie z ustawioną ścieżką w pliku konfiguracyjnym slapd.conf):
mkdir -p /etc/openldap/schema
cp openldap-sudoers.schema /etc/openldap/schema/sudoers.schema

Następnie należy dodać do pliku konfiguracyjnego dyrektywę dołączającą plik sudoers.schema do konfiguracji serwera.
/etc/openldap/slapd.conf
include     /etc/openldap/schema/corba.schema
include     /etc/openldap/schema/core.schema
include     /etc/openldap/schema/cosine.schema
include     /etc/openldap/schema/duaconf.schema
include     /etc/openldap/schema/dyngroup.schema
include     /etc/openldap/schema/inetorgperson.schema
include     /etc/openldap/schema/java.schema
include     /etc/openldap/schema/misc.schema
include     /etc/openldap/schema/nis.schema

# add next line here
include     /etc/openldap/schema/sudoers.schema

include     /etc/openldap/schema/openldap.schema
include     /etc/openldap/schema/ppolicy.schema
include     /etc/openldap/schema/collective.schema

Po wprowadzeniu powyższych zmian należy ponownie uruchomić serwer OpenLDAP.
/etc/init.d/slapd restart



Istotne wprowadzone zmiany w pliku konfiguracyjnym /etc/nsswitch.conf powinny być analogiczne do poniższych:
W dystrybucji CentOS 5.* (32bit/i386), CentOS 6.* (32bit/i386), CentOS 6.* (64bit/x86_64) w pliku /etc/nsswitch.conf istnieje linia sudoers:, należy upewnić się, że jest analogiczna do poniższej:
sudoers:    files ldap

W dystrybucji CentOS 7.* (64bit/x86_64) w pliku konfiguracyjnym /etc/nsswitch.conf nie ma linii sudoers:, należy ją do tego pliku dodać, aby była analogiczna do poniższej:
sudoers:    files ldap



# SUDOERS_BASE base
# The base DN to use when performing sudo LDAP queries. Typically this is of the form ou=SUDOers,dc=example,dc=com
# for the domain example.com. Multiple SUDOERS_BASE lines may be specified,
# in which case they are queried in the order specified.

Aby przy wykonywaniu poleceń poprzedzonych komendą sudo uwzględniana były również konfiguracja z bazy LDAP należy jeszcze wprowadzić stosowne zmiany w PAM (Pluggable Authentication Modules):

W dystrybucji CentOS 5.* (32bit/i386) w pliku konfiguracyjnym /etc/ldap.conf wprowadzone zmiany powinny być analogiczne do poniższych:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl

W dystrybucji CentOS 6.* (32bit/i386) w pliku konfiguracyjnym /etc/pam_ldap.conf wprowadzone zmiany powinny być analogiczne do poniższych:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl

W dystrybucji CentOS 6.* (64bit/x86_64) w pliku konfiguracyjnym /etc/pam_ldap.conf wprowadzone zmiany powinny być analogiczne do poniższych:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl

W dystrybucji CentOS 7.* (64bit/x86_64) w pliku konfiguracyjnym /etc/sudo-ldap.conf wprowadzone zmiany powinny być analogiczne do poniższych:
sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl



Na koniec wprowadzone zmiany związane z sudo w dystrybucji CentOS w wersji 5.* (32bit/i386) można sprawdzić następująco:
cat /etc/ldap.conf | grep  sudoers_base
Otrzymany rezultat powinien być analogiczny do poniższego:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z sudo w dystrybucji CentOS w wersji 6.* (64bit/x86_64) można sprawdzić następująco:
cat /etc/pam_ldap.conf | grep  sudoers_base
Otrzymany rezultat powinien być analogiczny do poniższego:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z sudo w dystrybucji CentOS w wersji 6.* (64bit/x86_64) można sprawdzić następująco:
cat /etc/pam_ldap.conf | grep  sudoers_base
Otrzymany rezultat powinien być analogiczny do poniższego:
#sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl

Na koniec wprowadzone zmiany związane z sudo w dystrybucji CentOS w wersji 7.* (64bit/x86_64) można sprawdzić następująco:
cat /etc/sudo-ldap.conf | grep  sudoers_base
Otrzymany rezultat powinien być analogiczny do poniższego:
sudoers_base ou=sudoers,dc=wbcd,dc=pl
sudoers_base ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl



#top Create LDAP Tree Service (sudo) LDAP tree


Na konieć należy dodać jeszcze stosowne wpisy do bazy LDAP:

/root/tmp/ldap/pl-wbcd-xen.ldif
cat > /root/tmp/ldap/pl-wbcd-xen.ldif << EOF
dn: dc=xen,dc=wbcd,dc=pl
dc: xen
objectClass: top
objectClass: domain
EOF

ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen.ldif

adding new entry "dc=xen,dc=wbcd,dc=pl"



/root/tmp/ldap/pl-wbcd-xen-cen05dev.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen05dev.ldif << EOF
dn: dc=cen05dev,dc=xen,dc=wbcd,dc=pl
dc: cen05dev
objectClass: top
objectClass: domain
EOF

/root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers.ldif << EOF
dn: ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
ou: sudoers
objectClass: organizationalUnit
description: sudoers
EOF

/root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-defaults.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-defaults.ldif << EOF
dn: cn=defaults,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
cn: defaults
description: Default sudoOption's go here
sudoOption: env_keep+=SSH_AUTH_SOCK
EOF

/root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-sp.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-sp.ldif << EOF
dn: uid=sp,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
uid: sp
cn: sp
sudoUser: sp
sudoHost: ALL
sudoRunAsUser: ALL
sudoCommand: ALL
sudoOrder: 2
sudoOption: !authenticate
EOF

ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen05dev.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-defaults.ldif
#ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh 'uid=sp,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen05dev-sudoers-sp.ldif

adding new entry "dc=cen05dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "cn=defaults,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "uid=sp,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl"

ldapsearch -x -b "ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl" 'uid=*'



/root/tmp/ldap/pl-wbcd-xen-cen06dev.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06dev.ldif << EOF
dn: dc=cen06dev,dc=xen,dc=wbcd,dc=pl
dc: cen06dev
objectClass: top
objectClass: domain
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers.ldif << EOF
dn: ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl
ou: sudoers
objectClass: organizationalUnit
description: sudoers
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-defaults.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-defaults.ldif << EOF
dn: cn=defaults,ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
cn: defaults
description: Default sudoOption's go here
sudoOption: env_keep+=SSH_AUTH_SOCK
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-sp.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-sp.ldif << EOF
dn: uid=sp,ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
uid: sp
cn: sp
sudoUser: sp
sudoHost: ALL
sudoRunAsUser: ALL
sudoCommand: /usr/bin/id
sudoOrder: 2
sudoOption: !authenticate
EOF

ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06dev.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-defaults.ldif
#ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh 'uid=sp,ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06dev-sudoers-sp.ldif

adding new entry "dc=cen06dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "cn=defaults,ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl"
adding new entry "uid=sp,ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl"

ldapsearch -x -b "ou=sudoers,dc=cen06dev,dc=xen,dc=wbcd,dc=pl" 'cn=*'



/root/tmp/ldap/pl-wbcd-xen-cen06x64.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06x64.ldif << EOF
dn: dc=cen06x64,dc=xen,dc=wbcd,dc=pl
dc: cen06x64
objectClass: top
objectClass: domain
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers.ldif << EOF
dn: ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
ou: sudoers
objectClass: organizationalUnit
description: sudoers
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-defaults.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-defaults.ldif << EOF
dn: cn=defaults,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
cn: defaults
description: Default sudoOption's go here
sudoOption: env_keep+=SSH_AUTH_SOCK
EOF

/root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-sp.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-sp.ldif << EOF
dn: uid=sp,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
uid: sp
cn: sp
sudoUser: sp
sudoHost: ALL
sudoRunAsUser: ALL
sudoCommand: ALL
sudoOrder: 2
sudoOption: !authenticate
EOF

ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06x64.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-defaults.ldif
#ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh 'uid=sp,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen06x64-sudoers-sp.ldif

adding new entry "dc=cen06x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "cn=defaults,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "uid=sp,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl"

ldapsearch -x -b "ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl" 'uid=*'





/root/tmp/ldap/pl-wbcd-xen-cen07x64.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen07x64.ldif << EOF
dn: dc=cen07x64,dc=xen,dc=wbcd,dc=pl
dc: cen07x64
objectClass: top
objectClass: domain
EOF

/root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers.ldif << EOF
dn: ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
ou: sudoers
objectClass: organizationalUnit
description: sudoers
EOF

/root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-defaults.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-defaults.ldif << EOF
dn: cn=defaults,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
cn: defaults
description: Default sudoOption's go here
sudoOption: env_keep+=SSH_AUTH_SOCK
EOF

/root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-sp.ldif
cat > /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-sp.ldif << EOF
dn: uid=sp,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
objectClass: top
objectClass: sudoRole
uid: sp
cn: sp
sudoUser: sp
sudoHost: ALL
sudoRunAsUser: ALL
sudoCommand: ALL
sudoOrder: 2
sudoOption: !authenticate
EOF

ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen07x64.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers.ldif
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-defaults.ldif
#ldapdelete -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh 'uid=sp,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl'
ldapadd -x -D 'cn=Manager,dc=wbcd,dc=pl' -w asdfgh -f /root/tmp/ldap/pl-wbcd-xen-cen07x64-sudoers-sp.ldif

adding new entry "dc=cen07x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "cn=defaults,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl"
adding new entry "uid=sp,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl"

ldapsearch -x -b "ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl" 'uid=*'



W celu przetestowania czy przygotowana konfiguracja działa należy zalogować się na poszczególne serwery używając przygotowanych kont, oraz wykonać przygotowane polecenia poprzedzając je komendą sudo:



W dystrybucji CentOS w wersji 5.* (32bit/i386) otrzymany rezultat powinien być analogiczny do poniższego:
sudo /usr/bin/id

LDAP Config Summary
===================
uri          ldap://10.41.0.58
ldap_version 3
sudoers_base ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
binddn       (anonymous)
bindpw       (anonymous)
bind_timelimit  120000
timelimit    120
ssl          no
tls_cacertfile   /etc/pki/tls/certs/slapd.crt
tls_cacertdir    /etc/openldap/cacerts
===================
sudo: ldap_initialize(ld, ldap://10.41.0.58)
sudo: ldap_set_option: debug -> 0
sudo: ldap_set_option: ldap_version -> 3
sudo: ldap_set_option: tls_cacertfile -> /etc/pki/tls/certs/slapd.crt
sudo: ldap_set_option: tls_cacertdir -> /etc/openldap/cacerts
sudo: ldap_set_option: timelimit -> 120
sudo: ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT, 120)

sudo: ldap_simple_bind_s() ok
sudo: found:cn=defaults,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
sudo: ldap sudoOption: 'env_keep+=SSH_AUTH_SOCK'
sudo: ldap search '(|(sudoUser=sp)(sudoUser=%users)(sudoUser=ALL))'
sudo: found:uid=sp,ou=sudoers,dc=cen05dev,dc=xen,dc=wbcd,dc=pl
sudo: ldap sudoHost 'ALL' ... MATCH!
sudo: ldap sudoCommand '/usr/bin/id' ... MATCH!
sudo: Perfect Matched!
sudo: ldap sudoOption: '!authenticate'
sudo: user_matches=-1
sudo: host_matches=-1
sudo: sudo_ldap_check(0)=0x422



W dystrybucji CentOS w wersji 6.* (32bit/i386) otrzymany rezultat powinien być analogiczny do poniższego:
sudo /usr/bin/id





W dystrybucji CentOS w wersji 6.* (64bit/x86_64) otrzymany rezultat powinien być analogiczny do poniższego:
sudo /usr/bin/id

LDAP Config Summary
===================
uri              ldap://10.41.0.58
ldap_version     3
sudoers_base     ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
binddn           (anonymous)
bindpw           (anonymous)
ssl              no
tls_cacertfile   /etc/pki/tls/certs/slapd.crt
tls_cacertdir    /etc/openldap/cacerts
===================
sudo: ldap_initialize(ld, ldap://10.41.0.58)
sudo: ldap_set_option: debug -> 0
sudo: ldap_set_option: ldap_version -> 3
sudo: ldap_set_option: tls_cacertfile -> /etc/pki/tls/certs/slapd.crt
sudo: ldap_set_option: tls_cacertdir -> /etc/openldap/cacerts
sudo: ldap_sasl_bind_s() ok
sudo: found:cn=defaults,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
sudo: ldap sudoOption: 'env_keep+=SSH_AUTH_SOCK'
sudo: ldap search '(|(sudoUser=sp)(sudoUser=%users)(sudoUser=ALL))'
sudo: found:uid=sp,ou=sudoers,dc=cen06x64,dc=xen,dc=wbcd,dc=pl
sudo: ldap sudoHost 'ALL' ... MATCH!
sudo: ldap sudoRunAsUser 'ALL' ... MATCH!
sudo: ldap sudoCommand '/usr/bin/id' ... MATCH!
sudo: Command allowed
sudo: ldap sudoOption: '!authenticate'
sudo: user_matches=1
sudo: host_matches=1
sudo: sudo_ldap_lookup(0)=0x02



W dystrybucji CentOS w wersji 7.* (64bit/x86_64) otrzymany rezultat powinien być analogiczny do poniższego:
sudo /usr/bin/id

sudo: Unable to dlopen /usr/lib64/libsss_sudo.so: (null)
sudo: Unable to initialize SSS source. Is SSSD installed on your machine?
LDAP Config Summary
===================
uri              ldap://10.41.0.58
ldap_version     3
sudoers_base     ou=sudoers,dc=wbcd,dc=pl
sudoers_base     ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
binddn           (anonymous)
bindpw           (anonymous)
ssl              no
tls_cacertfile   /etc/pki/tls/certs/slapd.crt
tls_cacertdir    /etc/openldap/cacerts
===================
sudo: ldap_set_option: debug -> 0
sudo: ldap_set_option: tls_cacertfile -> /etc/pki/tls/certs/slapd.crt
sudo: ldap_set_option: tls_cacert -> /etc/pki/tls/certs/slapd.crt
sudo: ldap_set_option: tls_cacertdir -> /etc/openldap/cacerts
sudo: ldap_initialize(ld, ldap://10.41.0.58)
sudo: ldap_set_option: ldap_version -> 3
sudo: ldap_sasl_bind_s() ok
sudo: Looking for cn=defaults: cn=defaults
sudo: no default options found in ou=sudoers,dc=wbcd,dc=pl
sudo: found:cn=defaults,ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl
sudo: ldap sudoOption: 'env_keep+=SSH_AUTH_SOCK'
sudo: ldap search '(|(sudoUser=sp)(sudoUser=#501)(sudoUser=%users)(sudoUser=%#100)(sudoUser=ALL))'
sudo: searching from base 'ou=sudoers,dc=wbcd,dc=pl'
sudo: search result has 1 entries (do_netgr=false)
sudo: adding search result
sudo: ldap sudoHost 'ALL' ... MATCH!
sudo: order attribute raw: 2
sudo: order attribute: 2.000000
sudo: result now has 1 entries
sudo: searching from base 'ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl'
sudo: search result has 1 entries (do_netgr=false)
sudo: adding search result
sudo: ldap sudoHost 'ALL' ... MATCH!
sudo: order attribute raw: 2
sudo: order attribute: 2.000000
sudo: result now has 2 entries
sudo: ldap search '(sudoUser=+*)'
sudo: searching from base 'ou=sudoers,dc=wbcd,dc=pl'
sudo: search result has 0 entries (do_netgr=true)
sudo: adding search result
sudo: result now has 2 entries
sudo: searching from base 'ou=sudoers,dc=cen07x64,dc=xen,dc=wbcd,dc=pl'
sudo: search result has 0 entries (do_netgr=true)
sudo: adding search result
sudo: result now has 2 entries
sudo: sorting remaining 2 entries
sudo: searching LDAP for sudoers entries
sudo: ldap sudoRunAsUser 'ALL' ... MATCH!
sudo: ldap sudoCommand '/usr/bin/who' ... not
sudo: ldap sudoRunAsUser 'ALL' ... MATCH!
sudo: ldap sudoCommand '/usr/bin/id' ... MATCH!
sudo: Command allowed
sudo: LDAP entry: 0x7f077ec66150
sudo: ldap sudoOption: '!authenticate'
sudo: done with LDAP searches
sudo: user_matches=1
sudo: host_matches=1
sudo: sudo_ldap_lookup(0)=0x02
sudo: removing reusable search result














































Zmodyfikowany ostatnio: 2018/02/13 22:46:03 (6 lat temu), textsize: 58,2 kB, htmlsize: 77,5 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników