Akkor kezdjük az előző részek tartalmával. Kezdtük ugye a felhasználók, csoportok, jelszók tárolását központilag cikkel. Azután jött egy írás, hogyan tudjuk az automount home könyvtárak beállítását is LDAP-ba integrálni. A klienseken az LDAP clien-t inicializálása manuálisan már iszonyatosan bonyolulttá vállt. Rengeteg sor, könnyen hibát lehet benne véteni. Természetesen ezt is le tudjuk egyszerűsíteni profilok használatával.

Mi az a profile?

Ugye emlékszünk legutoljára milyen paranccsal tudtunk egy kliens már inicializálni?

#ldapclient manual -v
-a credentialLevel=proxy
-a proxyDN=cn=proxyagent,ou=profile,dc=test,dc=oss
-a proxyPassword=ossproxy
-a defaultSearchBase=dc=test,dc=oss
-a defaultSearchScope=sub
-a domainName=test.oss
-a serviceSearchDescriptor=passwd:dc=test,dc=oss?sub
-a serviceSearchDescriptor=shadow:dc=test,dc=oss?sub
-a serviceSearchDescriptor=group:dc=test,dc=oss?sub
-a serviceAuthenticationMethod=pam_ldap:simple
-a authenticationMethod=simple
-a attributeMap=automount:automountKey=cn
-a attributeMap=automount:automountInformation=nisMapEntry
-a attributeMap=automount:automountMapName=nisMapName
-a serviceSearchDescriptor=auto_master:automountMapName= auto_master,dc=test,dc=oss?sub
-a serviceSearchDescriptor=auto_home:automountMapName= auto_home,dc=test,dc=oss?sub

192.168.132.1

Ez elég undorító. Mielőtt rátérnék arra, hogy miben segít nekünk a profile, nézzük meg az inicializálás után, ezen információkat, hol tárolja el az LDAP client.

# cd /var/ldap/
# ls -lah

Ebből is a ldap_client_file file lesz számunkra érdekes:

# cat ldap_client_file

Ebben a file-ban, minden szépen össze van szedve. Mihez csatlakozunk, hogy, milyen DN alatt mit találunk meg. Csak úgy, ahogy az “ldapclient manual” parancsban összefoglaltunk. Na de, ha ez ilyen szépen strukturáltan dolgozódik fel a kliensekben, akkor miért ne tárolhatnánk eleve így, központosítva az LDAP-ban.

Profile struktúra az LDAP-ban

Szerencsére ahhoz, hogy profil objektumokat tudjunk létrehozni, nem kell új sémákról gondoskodnunk, az eddigiekkel is menni fog.

A következő LDIF file-t használtam én.

# cat /tmp/openldap_install/ldifs/automount_profile.ldif
dn: cn=automount_profile,ou=profile,dc=test,dc=oss
ObjectClass: top
ObjectClass: DUAConfigProfile
defaultServerList: 192.168.132.1
defaultSearchBase: dc=test,dc=oss
authenticationMethod: simple
followReferrals: FALSE
defaultSearchScope: sub
searchTimeLimit: 30
profileTTL: 43200
bindTimeLimit: 10
cn: automount_profile
credentialLevel: proxy
serviceSearchDescriptor: passwd: ou=People,dc=test,dc=oss?one
serviceSearchDescriptor: group: ou=group,dc=test,dc=oss?one
serviceSearchDescriptor: shadow: ou=People,dc=test,dc=oss?one
serviceSearchDescriptor: netgroup: ou=netgroup,dc=test,dc=oss?one
serviceSearchDescriptor: auto.master: nisMapName=auto.master,dc=test,dc=oss?one
serviceSearchDescriptor: auto.home: nisMapName=auto.home,dc=test,dc=oss?one
serviceSearchDescriptor: auto_master: automountMapName=auto_master,dc=test,dc=oss?one
serviceSearchDescriptor: auto_home: automountMapName=auto_home,dc=test,dc=oss?one
serviceSearchDescriptor: auto_direct: automountMapName=auto_direct,dc=test,dc=oss?one
objectclassMap: automount: automount=nisObject
objectclassMap: automount: automountMap=nisMap
attributeMap: automount: automountInformation=nisMapEntry
attributeMap: automount: automountKey=cn
attributeMap: automount: automountMapName=nisMapName

Ez gyakorlatilag minden olyan definíciót tartalmaz, amit manuálisan felsoroltam.

LDAP kliens inicializálása

Akkor nézzük, ha már van egy profilunk (természetesen több is lehet, más-más néven), akkor azt hogyan is tudjuk felhasználni a kliensünk esetében, mennyivel egyszerűsödik az inicializálás.

kliens# ldapclient -v init -a profileName=automount_profile -a domainName=test.oss -a proxyDN=cn=proxyagent,ou=profile,dc=test,dc=oss -a proxyPassword=ossproxy 192.168.132.1

Ahogy az látszik, csupán egy proxy felhasználót adtam meg, illetve annak jelszavat, plusz a profil nevet. Nem DN-jet, csak a nevet. Az LDAP client tudja, jól, hogy a profile Organization Unit alatt keresse azt, az LDAP serveren.

Ezek után egyszerűen tudunk klienseket a meglévő LDAP szerverünkhöz integrálni.