Erinevus lehekülje "OpenLDAP kasutamine Debianiga" redaktsioonide vahel
(→LDAP kliendi seadistamine libnss-ldapd abil) |
(→Kasutaja andmete lisamine kataloogi) |
||
89. rida: | 89. rida: | ||
Enter LDAP Password: (ldap administraatori parool) | Enter LDAP Password: (ldap administraatori parool) | ||
− | + | ===LDAP päringute sooritamine=== | |
+ | |||
+ | Pärgingud LDAP kataloogi saab teha utiliidiga ldapsearch, nt kataloogis sisalduva kasutaja andmete küsimiseks sobib öelda | ||
# ldapsearch -x uid=mart | # ldapsearch -x uid=mart | ||
120. rida: | 122. rida: | ||
# numResponses: 2 | # numResponses: 2 | ||
# numEntries: 1 | # numEntries: 1 | ||
+ | |||
+ | Või ainult näidatud attribuutide küsimiseks, kus -LLL ei näita kommentaare | ||
+ | |||
+ | $ ldapsearch -LLL -x "uid=mart" uid uidNumber gidNumber cn sn | ||
+ | dn: uid=mart,ou=people,dc=auul | ||
+ | uid: mart | ||
+ | uidNumber: 20000 | ||
+ | gidNumber: 20000 | ||
+ | cn: mart | ||
+ | sn: mart | ||
+ | |||
+ | Üldine ldapsearch kasutamise süntaks on selline | ||
+ | |||
+ | * '-LLL -x' - üldise tähendusega võtmed | ||
+ | * "uid=mart" - nn filter, vaikimisi samaväärne kui "(objectClass=*)" | ||
+ | * uid uidNumber gidNumber cn sn - küsitud attribuutide nimed | ||
+ | |||
+ | Lisaks saab päringu esitamisel kitsendada kui asutakse LDAP hierarhias -b "dc=auul" parameeetri abil | ||
+ | |||
+ | $ ldapsearch -LLL -x -b "dc=auul" "uid=tarmo" uid uidNumber gidNumber cn sn | ||
===Keskse kasutajate halduse korraldamine=== | ===Keskse kasutajate halduse korraldamine=== |
Redaktsioon: 11. aprill 2009, kell 16:42
Sisukord
Sissejuhatus
Kataloogiteenuse (ingl. k. directory service) kasutamine on populaarne kuna selle abil saab suhteliselt lihtsasti ja turvaliselt hallata keskselt andmeid ja kontrollida paindlikult kataloogiteenuse klientide ligipääsu neile andmetele. Nt võiks korraldada selliste probleemide lahendamist kataloogiteenuse abil
- mitmete arvutite kasutajate keskne haldus, st kasutaja saab sama kasutajanime ja parooliga logida sisse haldusala kõigisse arvutitesse
- aadressraamatu pidamine
- X509 jms sertifikaatide haldamine PKI pidamise kontekstis
LDAP (Lightweight Directory Access Protocol) on iseenesest protokoll ning üks selle implementatsioon OpenLDAP http://www.openldap.org/. OpenLDAP kasutamise muudab praktiliseks asjaolu, et ta on üsna paljude rakendustega (nt PAM) integreeritud ning OpenLDAP kasutamiseks on vajalikud teegid olemas mitmetes programmeerimiskeeltes (nt Perl, PHP).
OpenLDAP paigaldamine
LDAP serveri paigaldamiseks Debianil tuleb öelda
# apt-get install slapd
Paigaldamise ajal küsitakse LDAP kataloogi admin sissekande jaoks parooli. Paigaldamise tulemusena on tekitatud LDAP'i andmed organisatsiooni ja administraatori kohta
# ldapsearch -x # extended LDIF # # LDAPv3 # base <dc=auul> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # auul dn: dc=auul objectClass: top objectClass: dcObject objectClass: organization o: auul dc: auul # admin, auul dn: cn=admin,dc=auul objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator
Kataloogi struktuuri moodustamine
Kui LDAP kasutamise eesmärgiks on hallata keskselt kasutajate ligipääsu arvutite shellile, siis sobib tekitada kaks sellist elementi
# cat people-group.ldif dn: ou=People,dc=auul ou: People objectClass: organizationalUnit dn: ou=Group,dc=auul ou: Group objectClass: organizationalUnit
öeldes
# ldapadd -c -x -D cn=admin,dc=auul -W -f /tmp/people-group.ldif
Kasutaja andmete lisamine kataloogi
Esimese grupi ja kasutaja tekitamiseks kasutada sellist ldif'i
# cat sissekanne.ldif dn: cn=mart,ou=group,dc=auul cn: mart gidNumber: 20000 objectClass: top objectClass: posixGroup dn: uid=mart,ou=people,dc=auul uid: mart uidNumber: 20000 gidNumber: 20000 cn: mart sn: mart objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/mart
Kasutajale parooli kehtestamiseks tuleb öelda
# ldappasswd -x -D cn=admin,dc=auul -W -S uid=mart,ou=people,dc=auul New password: Re-enter new password: Enter LDAP Password: (ldap administraatori parool)
LDAP päringute sooritamine
Pärgingud LDAP kataloogi saab teha utiliidiga ldapsearch, nt kataloogis sisalduva kasutaja andmete küsimiseks sobib öelda
# ldapsearch -x uid=mart # extended LDIF # # LDAPv3 # base <dc=auul> (default) with scope subtree # filter: uid=mart # requesting: ALL # # mart, people, auul dn: uid=mart,ou=people,dc=auul uid: mart uidNumber: 20000 gidNumber: 20000 cn: mart sn: mart objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/mart # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
Või ainult näidatud attribuutide küsimiseks, kus -LLL ei näita kommentaare
$ ldapsearch -LLL -x "uid=mart" uid uidNumber gidNumber cn sn dn: uid=mart,ou=people,dc=auul uid: mart uidNumber: 20000 gidNumber: 20000 cn: mart sn: mart
Üldine ldapsearch kasutamise süntaks on selline
- '-LLL -x' - üldise tähendusega võtmed
- "uid=mart" - nn filter, vaikimisi samaväärne kui "(objectClass=*)"
- uid uidNumber gidNumber cn sn - küsitud attribuutide nimed
Lisaks saab päringu esitamisel kitsendada kui asutakse LDAP hierarhias -b "dc=auul" parameeetri abil
$ ldapsearch -LLL -x -b "dc=auul" "uid=tarmo" uid uidNumber gidNumber cn sn
Keskse kasutajate halduse korraldamine
Selleks, et LDAP kliendiks olev arvuti saaks oma kasutajate andmed kataloogist peab paigaldama klientarvutisse paketid libnss-ldapd ja libpam-ldap
# apt-get install libnss-ldapd libpam-ldap
NSS
Operatsioonüsteem kasutab NSS (Name Service Switch) süsteemi selleks, et arvuti tööks olulisi andmeid kindlaks teha. Muu hulgas näitab NSS seadistusfail /etc/nsswitch.conf, millistest allikatest neid andmeid saab.
Süsteemi NSS seadistamiseks tuleb fail /etc/nsswitch.conf asendada
# the following contain normal unix user and group information passwd: files ldap group: files ldap shadow: files ldap
# hostname lookups through ldap before dns should work now hosts: files ldap dns networks: files ldap
# normal flat-file definitions protocols: files ldap services: files ldap ethers: files ldap rpc: files ldap netgroup: ldap
# whether alias lookups really use NSS depends on the mail server aliases: files ldap
Lisaks tuleb näidata libnss-ldapd paketist paigaldatud deemoni nslcd seadistusfailis /etc/nss-ldapd.conf LDAP serveri kohta andmed
uid nslcd gid nslcd # The location at which the LDAP server(s) should be reachable. uri ldap://192.168.10.1 # The search base that will be used for all queries. base dc=auul # The LDAP protocol version to use. #ldap_version 3 # The DN to bind with for normal lookups. binddn cn=admin,dc=auul bindpw parool
ning deemon käivitada
# /etc/init.d/nslcd start
PAM
Operatsioonisüsteem kasutab PAM (Pluggable Authentication Modules) süsteemi selleks, et erinevad programmid saaksid kasutajaid autentida.
Nt selleks, et kasutajad saaksid ssh abil sisse logida, sobib PAM'i ssh seadistusfailis /etc/pam.d/sshd kasutada nt sellist sisu
#%PAM-1.0 auth required /lib/security/pam_nologin.so auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_unix_auth.so try_first_pass account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix_acct.so password required /lib/security/pam_cracklib.so password sufficient /lib/security/pam_ldap.so password required /lib/security/pam_pwdb.so use_first_pass session required /lib/security/pam_unix_session.so
Selleks, et kasutaja saaks oma parooli muuta peab sisalduma /etc/pam.d/common-passwd failis lisaks nt
password sufficient pam_unix.so nullok md5 password required pam_ldap.so try_first_pass