Domů > Linuxové zápisky pro správce > Nastavení klientského PC pro práci s LDAP

Nastavení klientského PC pro práci s LDAP

Je to něco jako přidání klientského PC do domény, kde nám v síti běží LDAP server. LDAP server nám již běží na adrese ldap://server.example.loc.

Stav instalace Ubuntu klienta

V současné chvíli máme čistou instalaci Ubuntu (nyní verze 11.04) s jedním lokálním uživatelem „user“ s výchozími právy sudo.

Instalace balíčků

Na Ubuntu klientovi nainstalujeme potřebné balíčky (toto zároveň instaluje „auth-client-config ldap-auth-config libnss-ldap libpam-ldap“)

sudo apt-get --yes install ldap-auth-client

Instalátor se nás zeptá na pár otázek (následují odpovědi)

ldap://server.example.loc:389
dc=example,dc=cz
3
Ano
Ne
cn=admin,dc=fermontplus,dc=cz
heslo LDAP roota

Přidáme do /etc/nsswitch.conf „ldap“ (files ldap)

sudo auth-client-config -t nss -p lac_ldap

Pokračujeme v instalaci

sudo apt-get install nscd nss-updatedb libnss-db libpam-ccreds
Aktualizace a keš údajů z LDAP

sudo nss_updatedb ldap
passwd... done.
  group... done.
ls -l /var/lib/misc/*.db
  -rw-r--r-- 1 root root 8192 2008-08-26 18:20 /var/lib/misc/group.db
  -rw-r--r-- 1 root root 8192 2008-08-26 18:20 /var/lib/misc/passwd.db

Plánovaná aktualizace údajů z LDAP

sudo echo '#!/bin/sh'               | sudo tee    /etc/cron.daily/upd-local-nss-db &&
sudo echo `which nss_updatedb` ldap | sudo tee -a /etc/cron.daily/upd-local-nss-db &&
sudo chmod +x /etc/cron.daily/upd-local-nss-db

Zeditujeme řádky password a group v /etc/nsswitch.conf, které umožní čtení keše o uživatelích a skupinách (Alt+F2 gksudo gedit /etc/nsswitch.conf) takto

passwd:         files ldap [NOTFOUND=return] db
group:          files ldap [NOTFOUND=return] db

V případě výpadku LDAP serveru případně poruchy nějakého síťového prvku vzniká docela nepříjemný problém s ověřením uživatele přes síť proti adresářovému serveru. Částečně se dá řešit pomocí PAM modulu pam_ccred (viz. dále), který umožňuje kešovat přihlašovací informace.Vyrestartujeme kešovacího daemona pro DNS

/etc/init.d/nscd restart
Ověřování vůči LDAP

nastavíme pam.d pro ověřování vůči LDAP

cat << EOF | sudo tee /etc/pam.d/common-auth
auth    sufficient      pam_unix.so
auth    [authinfo_unavail=ignore success=1 default=die] pam_ldap.so use_first_pass
auth    [default=done]  pam_ccreds.so action=validate use_first_pass
auth    [default=done]  pam_ccreds.so action=store use_first_pass
auth    [default=done]  pam_ccreds.so action=update use_first_pass
EOF

&&

cat << EOF | sudo tee /etc/pam.d/common-account
account sufficient      pam_unix.so nullok_secure
account sufficient      pam_ldap.so
account required        pam_permit.so
EOF

&&

cat << EOF | sudo tee /etc/pam.d/common-password
password   sufficient  pam_ldap.so
password   sufficient  pam_unix.so use_authok nullok obscure min=6 max=16 md5
EOF

Kontrola nakešovaných hesel

sudo cc_dump
Automatický /homedir

Automatické vytvoření domovského adresáře nově přihlášeného uživatele (kopie obsahu lokálního /etc/skel)

cat << EOF | sudo tee /etc/pam.d/common-session
session required        pam_ldap.so
session required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel/ umask=0077
EOF
Customizované výchozí prostředí

Abychom měli upravené výchozí nastavení systému, vytvoříme si klon uživatelského účtu a změníme práva všech jeho souborů a adresářů. Vytvoříme adresář /etc/skel do kterého obsah „klonu“ přesuneme. Jedná se o jakousi šablonu nových domovských adresářů.

Další nastavení pro komunikaci v naší síti

SNMP + klientské pluginy

Odesílání systémových informací Centreonu pomocí protokolu SNMP

sudo apt-get install snmpd
check_apt

Slouží pro hlídání aktualizacích na klientských PC s Debian/Ubuntu systémem

cat << EOF | sudo tee /etc/snmp/snmpd.conf
rocommunity public IP-VASEHO-SERVERU-S-NAGIOSEM

# custom commands
exec aptgetsnmp /usr/share/snmp/custom/check_apt
EOF

Skript check_apt stáhneme

sudo wget http://www.fermontplus.cz/download/snmp/check_apt

a nakopírujeme na správné místo

sudo cp check_apt /usr/share/snmp/custom
rsyslog

Odesílá systémové logy na syslog server

sudo echo "*.* @IP-VASEHO-SYSLOG-SERVERU" > /etc/rsyslog.d/remote.conf"

a zrestartujeme rsyslog démona

sudo service rsyslog restart
hddtemp

Hlídá teploty disků a ty pak reportuje přes SNMP Centreonu

sudo apt-get install hddtemp

příklad lokálního použití: (zobrazí teplotu disku /dev/sda)

sudo hddtemp /dev/sda
Závěrečné doladění

Na závěr vyrestartujeme PC

sudo shutdown -r now

Přihlásíme se již pod uživatelem z databáze ldap (nikoliv „user“) a odstraníme lokálního uživatele „user“, vytvořeného při instalaci

sudo userdel -r user
Poznámky

Zde je ještě pár vecí, které by se mohly hodit

Změna práv

Může nám pomoci i příkaz na změnu práv z jednoho uživatele na druhého

find /home/xxx -user 1001 -print0 | xargs -0 chown 1000
find /home/xxx -group 1001 -print0 | xargs -0 chgrp 513
Zdroje informací 

https://help.ubuntu.com/community/LDAPClientAuthentication
http://ldap.zdenda.com/

  1. Bez komentářů.
  1. Žádné zpětné odkazy