Portál AbcLinuxu, 30. dubna 2025 17:12
Příklad nastavení OpenLDAP serveru a NFS serveru pro podporu přihlášení vzdálených uživatelů na desktopech.
Cílem je zajistit přihlašování uživatelů na linuxových desktopech, kdy udaje o uživatelích jsou uloženy na LDAP serveru a domovské adresáře uloženy na NFS serveru. Uživatel desktopu požádá o přihlášení - autorizuje se pomocí LDAP serveru a budou mu poskytnuty soubory pomocí NFS serveru. Postup neřeší podrobnější konfiguraci LDAP serveru, změny záznamů, atd., konfigurace NFS je jen základ. Slouží spíše k dalšímu studiu.
Pro příklad použijeme tyto servery a PC
LDAP server IP: 192.168.1.2 Minimální instalace Debian Squeeze hostname -f ... ldap.firma.cz
NFS server IP: 192.168.1.3 Minimální instalace Debian Squeeze hostname -f ... nfs.firma.cz
Desktop IP: 192.168.1.100 Desktop instalace hostname -f ... pc100.firma.cz
Provedeme instalaci OpenLDAP serveru na ldap.firma.cz
apt-get install slapd ldap-utils ... zadat heslo ldap admin ... Starting OpenLDAP: slapd
Instalace provede základní nastavení serveru. Nové verze openLDAP mají konfiguraci uloženu přímo v databázi separátně v cn=config - tzv. dynamická konfigurace - změny možné za běhu OpenLDAP serveru
Kontrola běhu - výpis obsahu databáze:
ldapsearch -xLLL -b "dc=firma,dc=cz" ... dn: dc=firma,dc=cz objectClass: top objectClass: dcObject objectClass: organization o: firma.cz dc: firma
dn: cn=admin,dc=firma,dc=cz objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator
Instalace vytvořila organizaci a uživatele admin
Výpis konfigurace (omezený na dn):
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn ... SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn: cn=config dn: cn=module{0},cn=config dn: cn=schema,cn=config dn: cn={0}core,cn=schema,cn=config dn: cn={1}cosine,cn=schema,cn=config dn: cn={2}nis,cn=schema,cn=config dn: cn={3}inetorgperson,cn=schema,cn=config dn: olcBackend={0}hdb,cn=config dn: olcDatabase={-1}frontend,cn=config dn: olcDatabase={0}config,cn=config dn: olcDatabase={1}hdb,cn=config
Jsou defaultně naimportována schémata - core, cosine, nis, inetorgperson
Vytvoření organizačních jednotek
soubor organizationalUnit.ldif ... dn: ou=users,dc=firma,dc=cz objectClass: organizationalUnit ou: users dn: ou=groups,dc=firma,dc=cz objectClass: organizationalUnit ou: groups ldapadd -x -D cn=admin,dc=firma,dc=cz -W -f organizationalUnit.ldif ... Enter LDAP Password: adding new entry "ou=users,dc=firma,dc=cz" adding new entry "ou=groups,dc=firma,dc=cz"
V příkladech se často používá ou=People, ou=Group
Vytvoření skupiny
soubor posixGroup.ldif ... dn: cn=ldap_users,ou=groups,dc=firma,dc=cz objectClass: posixGroup cn: ldap_users gidNumber: 10000 description: Group account ldapadd -x -D cn=admin,dc=firma,dc=cz -W -f posixGroup.ldif
Každý uživatel bude ve skupine ldap_users
. (Dnes je zvykem, že každý uživatel má vytvořenou i svou skupinu??)
Vytvoření uživatele
soubor user.ldif ... dn: uid=testldap,ou=users,dc=firma,dc=cz objectClass: account objectClass: posixAccount objectClass: shadowAccount cn: testldap uid: testldap uidNumber: 10000 gidNumber: 10000 homeDirectory: /home/testldap loginShell: /bin/bash gecos: Test LDAP description: User account ldapadd -x -D cn=admin,dc=firma,dc=cz -W -f user.ldif
Bez objectClass: account
to házelo chybu
Výpis obsahu databáze
ldapsearch -xLLL -b "dc=firma,dc=cz" ...
Měly by se zobrazit přidané položky
Začátečníci pro kontrolu použít grafického LDAP klienta
na obrázku je jiná IP adresa než v příkladu
Zajistí nám propojení systému s daty o uživatelích uložených v LDAP - systém "uvidí" uživatele v LDAP. Toto musíme nastavit na NFS serveru (potřebujeme nastavovat práva souboru uživatelů) a na klientovi / desktopu (potřebuje se přihlásit). Naopak na LDAP serveru by z bezpečnostních důvodů nemělo být přihlašování uživatelů dovoleno - nenastavujeme.
apt-get install libnss-ldap libpam-ldap Configuring libnss-ldap LDAP server URI: ldap://192.168.1.2/ Distinguished name of the search base: dc=firma,dc=cz LDAP version to use: 3 LDAP account for root: cn=admin,dc=firma,dc=cz LDAP root account password: heslo Configuring libpam-ldap Allow LDAP admin account to behave like local root? Yes Does the LDAP database require login? No LDAP administrative account: cn=admin,dc=firma,dc=cz LDAP administrative password: heslo
Instalační script upozorní, že je nutno ručně nastavit NSS
Nastavení NSS
edit /etc/nsswitch.conf ... passwd: compat ldap group: compat ldap shadow: compat ldap
Raději reboot - (po restartu NSS systém viděl uživatele, ale nešly v MC nastavit práva k souborům)
Nezapomenout vytvořit domovský adresář /home/testldap
pro uživatele testldap
na NFS serveru. Nastavení práv 40700 - uid=10000,gid=10000
- zkopírování profilu z /etc/skel
(nastavit práva)
Kontrola nastavení NSS a PAM - výpis uživatelů a skupin na NFS serveru a klientovi
getent passwd ... testldap:x:10000:Test LDAP:/home/testldap:/bin/bash ... getent group ... ldap_users:*:10000 ...
Ve výpisech by jsme měli vidět i uživatele a skupiny uložené v LDAP
Přihlašení uživatele
Uživatel by měl být schopen se lokálně přihlásit na NFS serveru
Změna hesla uživatelů v LDAP databázi - oprava chyby
passwd testldap passwd: Authentication information cannot be recovered passwd: password unchanged ... heslo nejde změnit edit /etc/pam.d/common-password ... zmenit use_authok na try_authok ...
bug?
Export domovských adresářů uživatelů
apt-get install nfs-kernel-server edit soubor /etc/exports /home *(rw,sync,no_root_squash,no_subtree_check) /etc/init.d/nfs-kernel-server reload nebo exportfs -a
Zápis neřeší optimalizaci NFS serveru
Před, nebo během přihlášení připojit domovský adresář uživatele z NFS serveru
edit /etc/fstab ... 192.168.1.3:/home /home nfs rsize=8192,wsize=8192,timeo=14,intr ...
Případně použít automount
Prosím o upozornění na případné nedostatky, chyby, doporučení, atd.
Tiskni
Sdílej:
Minimální instalace Debian Sarge
To jste zverejnil stary navod, nebo stale pouzivate Debian Sarge?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.