13. Jelszóváltás az rpasswd program segítségével

A NIS jelszó megváltoztatásának általános módja az yppasswd program meghívása, ez néhány rendszeren ez mindössze a passwd program alias neve. Ez a parancs az yppasswd protokollt használja, emellett szükséges az rpc.yppasswdd folyamatnak futnia a NIS master szerveren. A protokoll eléggé idejétmúlt, a régi jelszót sima szövegként küldi át a hálózaton. Ez nem problémás, amennyiben a jelszó sikeresen megváltozik. Abban az esetben a régi jelszót felváltja egy új. De ha a jelszóváltás sikertelen, úgy egy támadó használhatja a helyes jelszót, és beléphet a felhasználó nevében. Még rosszabb, ha a rendszeradminisztrátor változtatja meg egy másik felhasználó jelszavát, ekkor a NIS master szerver root jelszava továbbítódik sima szövegként a hálózaton. És az ebben az esetben nem fog megváltozni.

Egyfajta megoldás az, ha nem az yppasswd programot használod jelszóváltásra. Ehelyett jól használható az rpasswd parancs a pwdutils csomagból.

  Webhely         Könyvtár                           Fájl neve

  ftp.kernel.org  /pub/linux/utils/net/NIS           pwdutils-2.3.tar.gz
  ftp.suse.com    /pub/people/kukuk/pam/pam_pwcheck  pam_pwcheck-2.2.tar.bz2
  ftp.suse.com    /pub/people/kukuk/pam/pam_unix2    pam_unix2-1.16.tar.bz2

Az rpasswd biztonságos SSL kapcsolaton keresztül megváltoztatja egy felhasználó jelszavát egy távoli szerveren. Egy átlagos felhasználó csak a saját jelszavát változtathatja meg, ha az adminisztrátor jelszavát is tudja, akkor pedig bárkiét, ha meghívja az rpasswd programot az -a kapcsolóval.

13.1. A szerver beállítása

A szervernek az elsősorban tanúsítványra van szüksége, annak alapértelmezett fájlneve az /etc/rpasswdd.pem. Ezt a következő paranccsal hozhatod létre:
openssl req -new -x509 -nodes -days 730 -out /etc/rpasswdd.pem -keyout /etc/rpasswdd.pem

Egy PAM beállítófájlra is szüksége van az rpasswdd programnak. Ha a NIS felhasználói jelszavak az /etc/passwd fájlban vannak, a következő példa jó kiindulási alapot nyújt a beállításhoz:
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so
password required       pam_unix2.so    use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so

Ha a NIS jelszótérképek forrása másutt tárolódik (például /etc/yp), úgy a pam_unix2 nisdir kapcsolója használható a forrásfájl megkeresésére:
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so  nisdir=/etc/yp
password required       pam_unix2.so    nisdir=/etc/yp use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so

Most indítsd el az rpasswdd démont a NIS mester szerveren.

A PAM modulokban történt jelszóbeállítás után az rpasswdd is használható jelszóváltásra NIS+, LDAP vagy más, a PAM modul által támogatott szolgáltatásokhoz.

13.2. A kliens beállítása

Minden egyes kliensen csak az /etc/rpasswd.conf fájlban vannak a szükséges szerverek nevei. Ha a szerver nem az alapértelmezett portot használja, akkor azt be kell állítani:

# az rpasswdd az master.example.com gépen fut
server master.example.com
# Port 774 az alapértelmezett
port 774