Erinevus lehekülje "Ldap klient ja server" redaktsioonide vahel
41. rida: | 41. rida: | ||
/etc/rc.conf’i lisame ldap’i teenuse käivitamiseks boodil | /etc/rc.conf’i lisame ldap’i teenuse käivitamiseks boodil | ||
− | slapd_enable="YES" | + | slapd_enable="YES" |
− | slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"' | + | slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"' |
− | slapd_sockets="/var/run/openldap/ldapi" | + | slapd_sockets="/var/run/openldap/ldapi" |
peale rebooti võime sockstatiga kontrollida kas ldap kuulab 389 pordil | peale rebooti võime sockstatiga kontrollida kas ldap kuulab 389 pordil |
Redaktsioon: 5. august 2006, kell 18:50
suhteliselt tegemist tõlkega http://www.cultdeadsheep.org/FreeBSD/docs/Quick_and_dirty_FreeBSD_5_x_and_nss_ldap_mini-HOWTO.html lehelt mõningad asjad muudetud
LDAP (Lightweight Directory Access Protocol) http://www.openldap.org/ on Michigani Ülikooli (University of Michigan) poolt välja töötatud kataloogiteenuse protokoll asendamaks X.500 DAP (Directory Access Protocol) protokolli. Süsteemis pakub ta võimalust ühe teenuse piires hoida ning väljastada mitmesugust kasutajakontode kohta käivat infot. näiteks hoida lisaks kasutaja paroolile ja nimele veel tema kontaktandmeid samba parooli jms. Samuti saab ldap’i hästi kasutada kui on mitu serverit (mail, www, samba, terminaliserver) ning oleks vaja ,et samad kasutajad eksisteeriksid kõigis neis serverites. käesolev näide sobibki sellise lahenduse loomiseks kõigeparemini :)
serveri pool
installime openldap serveri
cd /usr/ports/net/openldap22-server/ make install
süsteemi paigaldatakse ka berkeley db mida openldab defauldis kasutab kuid on võimalik seada see tööle ka no näiteks postgresql peal.
genereerime serverile parooli
- slappasswd -s parool
{SSHA}nPKG3qbPABkp21aTBZV2IpbcGUHLi3a2
liigume /usr/local/etc/openldap ning avame faili slapd.conf lisame sinna
include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/nis.schema pidfile /var/run/ldap/slapd.pid argsfile /var/run/ldap/slapd.args
database bdb suffix "dc=test,dc=org" rootdn "cn=Manager,dc=test,dc=org" rootpw {SSHA}nPKG3qbPABkp21aTBZV2IpbcGUHLi3a2 directory /var/db/openldap-data index objectClass eq index uid pres,eq,sub
natuke failiõigusi paika noh lihtsalt igaksjuhuks
- chmod 440 /usr/local/etc/openldap/slapd.conf
- chown ldap:ldap /usr/local/etc/openldap/slapd.conf
- chown -R ldap:ldap /var/db/openldap*
/etc/rc.conf’i lisame ldap’i teenuse käivitamiseks boodil
slapd_enable="YES" slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"' slapd_sockets="/var/run/openldap/ldapi"
peale rebooti võime sockstatiga kontrollida kas ldap kuulab 389 pordil
nüüd loome test.ldiff faili ning ekspordime selle ldap’i
dn: dc=test,dc=org dc: test objectClass: top objectClass: domain objectClass: domainRelatedObject associatedDomain: test.org structuralObjectClass: domain
dn:ou=groups, dc=test, dc=org objectclass: top objectclass: organizationalUnit ou: groups structuralObjectClass: organizationalUnit
dn:ou=people, dc=test, dc=org objectclass: top objectclass: organizationalUnit ou: people structuralObjectClass: organizationalUnit
teeme failist eksportimise
slapadd -l test.ldiff
Kaks uute userite lisamise template’t. Slappadd’ga saab nende failide abil ldap’i kasutajad testuser ja testuser2. Muidugi võib kirjutada mingi shellskripti mis parameetritena võtab kasutaja parooli ja grupi ning loob kodukatalooma lisaks ka :) genereerida tuleb ka slappasswd’ga parool mõlemale kasutajale
Esimene kasutaja testuser.ldiff
dn: cn=StupidTest User, ou=people, dc=test, dc=org cn: StupidTest User sn: Dummy objectclass: top objectclass: person objectclass: posixAccount objectclass: shadowAccount uid:testuser userpassword:{SSHA}GmbwsRvJugoiT5NIIJ2bk+5YVfWMUVa1 uidnumber:1000 gidnumber:1000 gecos:Niisama ldap user loginShell:/bin/csh homeDirectory: /home/test
dn: cn=test, ou=groups, dc=test, dc=org objectclass: top objectclass: posixGroup cn: test gidnumber: 1000 memberuid: test
slapadd -l testuser.ldiff
teine kasutaja testuser2.ldiff
dn: cn=StupidTest User2, ou=people, dc=test, dc=org cn: StupidTest User2 sn: Dummy objectclass: top objectclass: person objectclass: posixAccount objectclass: shadowAccount uid:testuser2 userpassword:{SSHA}wU0T6ixZb9sU2+JTK8Au8sq7noNfMkbv uidnumber:1001 gidnumber:1001 gecos:TestUser loginShell:/bin/csh homeDirectory: /home/test2
dn: cn=test2, ou=groups, dc=test, dc=org objectclass: top objectclass: posixGroup cn: test2 gidnumber: 1001 memberuid: test2
slapadd -l testuser2.ldiff
kliendi pool
installime nss_ldap ja pam_ldap softi sellekäigus paigutatakse süsteemi ka openldap-client
- cd /usr/ports/net/nss_ldap
- make install clean
- cd /usr/ports/security/pam_ldap/
- make install
lisame /etc/pam.d/ldap faili 5x puhul või /etc/pam.conf 4x süsteemis rea
login auth sufficient /usr/local/lib/pam_ldap.so
lähme /usr/local/etc ning nimetame nss_ldap.conf.sample nss_ldap.conf loome sellest softlingi ldap.conf’ile
- ln -s /usr/local/etc/nss_ldap.conf /usr/local/etc/ldap.conf
kirjutame nss_ldap.conf’i
host 192.168.1.1 <- siia siis ldap serveri ip base dc=test,tdc=org ldap_version 3 port 389 pam_password md5 nss_base_passwd ou=People,dc=test,dc=org?sub nss_base_group ou=Group,dc=test,dc=org?sub ssl no
avame faili /etc/nsswitch.conf ning kirjutame sinna
passwd: files ldap group: files ldap
nüüd kirjutame /etc/pam.d/sshd konfi
auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass auth required pam_unix.so
kommenteerime kõik muud read vastavalt teiste teenuste pam konfidesse /etc/pam.d all tuleb lisada samad read kui huvi ka neid saada ldap’ilt auth’ima nagu ftp imap jms
- )
- id testuser
uid=1000(testuser) gid=1000 groups=1000
- id testuser2
uid=1001(testuser2) gid=1001 groups=1001
- finger testuser
Login: testuser Name: Niisama ldap user Directory: /home/test Shell: /bin/csh Never logged in. No Mail. No Plan.
- ssh testuser2@localhost
Password: Last login: Tue May 31 14:54:12 2005 from localhost Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.4-RELEASE (GENERIC) #0: Sun May 8 10:21:06 UTC 2005 Welcome to FreeBSD! Could not chdir to home directory /home/test2: No such file or directory
viimane rida näitab ,et tuleks luua ka serverisse kodukataloog userile ning see nfs’i abil jagada kliendile :)
mis veel. Enda serveri lokaalsete kasutajate ldap’i viimiseks vajalikud skriptid saab http://www.padl.com/OSS/MigrationTools.html Muidu annaks veel ühtteist teha näiteks automount ja samba http://www.idealx.org/prj/samba/samba-ldap-howto.pdf ning veebiliides muretseda. Viimaseid on mitmeid kirjutatud aga alati võib ka ise midagi nokitseda http://ee.php.net/manual/en/ref.ldap.php
lisaks veel … Yet Another Passwd 2 LDIF Converter http://freshmeat.net/projects/yap2lc/?topic_id=861
Web-based password changing cgi script for LDAP-based user databases http://www.cloudmaster.com/~sauer/projects/fom-files/cache/90.html
kasutajate administreerimiseks http://cpu.sourceforge.net/
muidugi ka http://phpldapadmin.sourceforge.net