(Read this article in English)
Elsőként a szerveren dolgozunk:
sudo mkdir -p /export/homeAz /etc/fstab állományt egy új sorral egészítjük ki:
/home /export/home none bind 0 0Érvényre juttatjuk a változtatást:
sudo mount -a
Ezzel elkészült az a könyvtár, amit majd az NFS4-szerverünk kiajánl.Telepítjük az NFS4 szerveroldali komponenseit:
sudo apt-get install nfs-kernel-server nfs-commonMegírjuk az /etc/exports fájlt:
/export gss/krb5(rw,fsid=0,no_subtree_check,async,root_squash) /export/home gss/krb5(rw,no_subtree_check,async,root_squash)Majd egyszer érdemes lehet átolvasni a man nfs-t, hogy a krb5 helyére akarunk-e krb5i vagy krb5p kapcsolót megadni.
Az /etc/default/nfs-kernel-server fájlt módosítjuk:
NEED_SVCGSSD=yes
Újraindítjuk az NFS-szervert:
sudo service nfs-kernel-server restartEllenőrizzük, hogy az van-e kiajánlva, amit szeretnénk:
sudo exportfs -v
Egy próbamount (még itt, a szerveren, a saját kiajánlott könyvtárunkat mountoljuk vissza):sudo mount -t nfs4 -o sec=krb5 ubuserver.itthon.cucc:/home/ /mntNem megy. Ilyet találunk a syslog-ban:
ubuserver kernel: [ 198.204101] RPC: AUTH_GSS upcall timed out. ubuserver kernel: [ 198.204104] Please check user daemon is running.Próbáljunk segíteni rajta:
sudo service gssd start gssd stop/post-stop, process 3061Mint a dőlt betűs részből látszik, nem ment a dolog. Szerkesztjük az /etc/default/nfs-common fájlt:
NEED_GSSD=yesAkkor talán most:
sudo service gssd start gssd start/running, process 3078Most már megy a GSSD. Újra próbálkozunk:
sudo mount -t nfs4 -o sec=krb5 ubuserver.itthon.cucc:/home/ /mnt mount.nfs4: access denied by server while mounting ubuserver.itthon.cucc:/home/
A dőlt betűs rész ismét rosszat sejtet:) Lássuk kedvenc syslog-unkat:
ubuserver rpc.gssd[3591]: ERROR: Key table file '/etc/krb5.keytab' not found while beginning keytab scan for keytab 'FILE:/etc/krb5.keytab' rpc.gssd[3591]: last message repeated 2 times ubuserver rpc.gssd[3591]: ERROR: gssd_refresh_krb5_machine_credential: no usable keytab entry found in keytab /etc/krb5.keytab for connection with host ubuserver.itthon.cucc ubuserver rpc.gssd[3591]: ERROR: No credentials found for connection to server ubuserver.itthon.cuccNa, akkor tegyünk róla. Létrehozunk egy kerberos-principalt, ami a man rpc.gssd szerint lehetne más is, mi mégis az nfs/szerver-fqdn (Fully Qualified Domain Name) nevet adjuk neki, mert ugye hová is lennénk hagyományok nélkül (és mert minden internetes forrás ezt írja). Vastaggal az általunk kiadott parancsok:
sudo kadmin.local Authenticating as principal root/admin@ITTHON.CUCC with password. kadmin.local: addprinc -randkey nfs/ubuserver.itthon.cucc WARNING: no policy specified for nfs/ubuserver.itthon.cucc@ITTHON.CUCC; defaulting to no policy Principal "nfs/ubuserver.itthon.cucc@ITTHON.CUCC" created. kadmin.local: ktadd nfs/ubuserver.itthon.cucc Entry for principal nfs/ubuserver.itthon.cucc with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuserver.itthon.cucc with kvno 2, encryption type arcfour-hmac added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuserver.itthon.cucc with kvno 2, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuserver.itthon.cucc with kvno 2, encryption type des-cbc-crc added to keytab FILE:/etc/krb5.keytab. kadmin.local: quitA fenti mount-parancsot megismételve a hibaüzenet ugyanaz, de legalább most nincs semmi a syslog-ban. Ja...:
sudo service nfs-kernel-server restartÉs most jó! Adjuk ki, hogy:
sudo ls -l /mntNézzük meg, hogy a fájlok tulajdonosai, csoportjai jól látszanak-e. Ha kicsit is értem, amit csinálok, akkor a szerveren muszáj nekik, de biztos ami fix...
Gyalogoljunk át a kliensre.
A kadmin -p kerbadmin/admin helyett a
Akkor kész.
Legközelebb megoldjuk, hogy a felhasználók home-könyvtára belépéskor automatikusan felcsatolódjon. Hiszen részben ezért szenvedtünk a Kerberos-szal egész eddig:)
Irodalom:
http://wiki.debian.org/NFS/Kerberos
http://www.opinsys.fi/en/setting-up-nfsv4kerberos-on-ubuntu-10-04-alpha-2-lucid-part-6 http://www.danbishop.org/2011/10/29/ubuntu-11-10-sbs-small-business-server-setup-part-1-%E2%80%93-dhcp-and-dns/5/#part-5-nfs
sudo apt-get install nfs-commonSzerkesszük az /etc/default/nfs-common fájlt, mint fenn, majd
sudo service gssd startÉs:
sudo mount -t nfs4 -o sec=krb5 ubuserver.itthon.cucc:/home/ /mntSzokásos hibaüzenet, szokásos syslog-bejegyzések. Gyártani kell a kliensnek is kerberos-principalt, és a kulcs megy a keytab-ba. Ha beállítottunk magunknak Kerberos admin-felhasználót, akkor követhetjük a lentieket, ha nem, akkor a szerveren kell dolgoznunk a kadmin.local használatával, és az elkészült principal kulcsát külön fájlba exportáljuk, amit majd valahogy áthozunk a kliensre. Szerencsére nekem van Kerberos admin-felhasználóm (kerbadmin/admin a neve), úgyhogy ezt megúszom, maradok a kliensen.
A kadmin -p kerbadmin/admin helyett a
sudo kadmin -p kerbadmin/adminparancsot kell kiadnunk, különben nem fogjuk tudni írni a gép keytab-fájlját. Vastaggal szedve a mi beírásunk, figyelj, itt a kliens FQDN-je kell:
Authenticating as principal kerbadmin/admin with password. Password for kerbadmin/admin@ITTHON.CUCC: kadmin: addprinc -randkey nfs/ubuclient.itthon.cucc WARNING: no policy specified for nfs/ubuclient.itthon.cucc@ITTHON.CUCC; defaulting to no policy Principal "nfs/ubuclient.itthon.cucc@ITTHON.CUCC" created. kadmin: ktadd nfs/ubuclient.itthon.cucc Entry for principal nfs/ubuclient.itthon.cucc with kvno 3, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuclient.itthon.cucc with kvno 3, encryption type arcfour-hmac added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuclient.itthon.cucc with kvno 3, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab. Entry for principal nfs/ubuclient.itthon.cucc with kvno 3, encryption type des-cbc-crc added to keytab FILE:/etc/krb5.keytab. kadmin: quitA fenti parancsot kiadva megy a mount-olás. Azonban a
sudo ls -l /mntparancsot kiadva esetleg az látható, hogy minden fájl tulajdonosa a nobody nogroup. Grrr. A syslog-ban ilyesmi sorok látszanak:
ubuclient rpc.idmapd[2325]: nss_getpwnam: name 'root@itthon.cucc' does not map into domain 'localdomain'Szerkesszük az /etc/idmapd.conf fájlt:
Domain = itthon.cuccAkkor most egy
sudo service idmapd restartEkkor a szerveren lévő, de nem-kerberos felhasználóknál továbbra is nobody, nogroup és a syslog-ban ez van:
rpc.idmapd[2394]: nss_getpwnam: name 'localuser1' not found in domain 'itthon.cucc'de a többi jó. Mármint újramountolás után.
Akkor kész.
Legközelebb megoldjuk, hogy a felhasználók home-könyvtára belépéskor automatikusan felcsatolódjon. Hiszen részben ezért szenvedtünk a Kerberos-szal egész eddig:)
Irodalom:
http://wiki.debian.org/NFS/Kerberos
http://www.opinsys.fi/en/setting-up-nfsv4kerberos-on-ubuntu-10-04-alpha-2-lucid-part-6 http://www.danbishop.org/2011/10/29/ubuntu-11-10-sbs-small-business-server-setup-part-1-%E2%80%93-dhcp-and-dns/5/#part-5-nfs
Nincsenek megjegyzések:
Megjegyzés küldése