|
Kuvan KServer-Fukushima oikkuili verkkokansioidensa kanssa, kun idmapd käytti väärää verkkonimeä. Loppu hyvin, kaikki hyvin: yli tunnin ihmettelemisen ja yhden konfiguraatiorivin muuttamisen jälkeen homma toimii taas.
Kuva: Riku Eskelinen/ CC BY-SA 3.0 |
Kotonani työasemakoneet tuovat kotikansiot NFS4-tiedostopalvelimeltani, KServer-Mythbusterilta. Tänään kuitenkin kiinnitin huomiota KServer-Fukushima-ykköstyöasemakonettani (Debian squeeze) käyttäessäni, ettei kotikansioni ollut aivan kunnossa.
Pikaisella tarkistuksella (ls -ld ~) selvisi, että kotikansion omistajaksi oli merkitty nobody:nogroup oman käyttäjä- ja ryhmätunnukseni sijaan. Koska uudelleenkäynnistys yleensä auttaa kaikkeen, komensin1:
$ sudo service nfs-common restart
$ sudo mount -a -t nfs4 -o remount
Komennot suorittuivat ilman sen ihmeellisempiä virheilmoituksia, mutta ongelma pysyi samana: NFS-asiakas oli vahvasti sitä mieltä, että kotikansiot omistaa ei-kukaan. Siispä NFS-palvelimeni kimppuun.
NFS-jaoissa on oletuksena käytössä niin kutsuttu root_squash, jossa asiakkaan ilmoittamat root-käyttäjän oikeudet muunnetaan lennossa asetetun anonyymikäyttäjän ja -ryhmän (asetusoptiot anonuid ja anongid, oletuksena nobody:nogroup) oikeuksiksi. Tietoturvan kannalta asetus on hyvä pitää päällä, ja näin toki kaikilla jaoillani asia onkin. Musiikki- ja videojakojen osalta käytän vielä valintaa all_squash, jolloin kaikki käyttäjät voivat vapaasti kirjoitella ja lukea näitä kansioita.
Kun kerran kotikansiollekin omistajaksi näkyivät NFS-anonyymikäyttäjä ja -ryhmä, päätin tarkistaa, etten vahingossakaan ollut laittanut kotikansioille all_squash:ia päälle. NFS-verkkojaothan määritellään tiedostossa /etc/exports, ja siellä kotikansioiden osalta jako-optiot olivat kunnossa:
/export/homes <koneet>(rw,sync,insecure,no_subtree_check)
OK, vika siis ei ollut palvelimessa, joten jatkoin selvittelyä Fukushiman osalta.
Käyttäjätunnusten koneidenvälinen mäppäily tapahtuu NFS4:ssa (ainakin Debianissa) rpc.idmapd:illa, joka kuuluu aiemmin uudelleenkäynnistettyyn nfs-common -pakettiin. Jotta idmapd:ia käytettäisiin, pitää asiakaskoneen /etc/default/nfs-common -tiedostossa se olla kytkettynä päälle. Kun kyseisen tiedoston avasin, ei NEED_IDMAPD=-kohdassa ollut määritelty mitään. Asetustiedoston mukaan tällöin käytetään automaattista tunnistusta, mutta ajattelin muuttaa tämän varmuuden vuoksi muotoon NEED_IDMAPD=yes.
Päätin tässä välissä rebootata Fukushiman, ja katsoa mitä tapahtuu. Noin minuutti myöhemmin2 päädyin raapimaan päätäni uudelleen, sillä asetusmuutos ei tuottanut toivottua tulosta. Tässä vaiheessa päätin vilkaista /var/log/syslog:ia, jota kahlaamalla löytyikin johtolanka:
May 17 14:55:11 kserver-fukushima rpc.idmapd[1161]: nss_getpwnam: name ’<käyttäjänimi>@kserver.dy.fi’ does not map into domain ’localdomain’
Kotiverkossani käytän verkkonimenä kserver.dy.fi:ä, ja kaikkien verkkoon tulevien koneiden pitäisi saada tietää tämä DHCP-vastauksen mukana. Olisiko sitten niin, että Fukushima jättäisi jostain syystä DHCP:n kertoman verkkonimen huomiotta, ja päätyisi jonkinlaisen oletusasetuksen kautta käyttämään localdomain:ia?
$ dnsdomainname
kserver.dy.fi
Ei, kyllä kone tietää olevansa kserver.dy.fi-verkossa. Tässä vaiheessa jouduin turvautumaan Googleen, jota kautta päädyin selaamaan RHEL:n postituslistan ketjua. Eräs viesti alkoi sanoin:
/etc/idmapd.conf is configured the same way on both the NFSv4 Server & Client correct?
/etc/idmapd.conf, vai? Katsotaanpa, mitä Fukushiman tiedosto tietää:
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
Kas niin, löytyihän se syyllinen lopultakin. Domain-rivi muotoon Domain = kserver.dy.fi, reboottaus, ja kas:
$ ls -ldh ~
drwx—— 261 <käyttäjänimeni> <ryhmänimeni> 36K 17.5. 15:05 /home/<käyttäjänimeni>
Näin helposti ja mukavasti tämäkin asia saatiin kuntoon.
—
1) Tässä ensin käynnistetään NFS-jakojen oheispalvelut uudelleen, ja sen jälkeen liitetään kaikki fstab:in nfs4-muotoiset liitospisteet uudelleen.
2) Niin, Debian buuttaa huomattavasti Ubuntua nopeammin sekä ylös että alas, ainakin itselläni.