Zpřístupnění disků na vlastním stroji

Unixový domovský adresář /home/login si můžete zpřístupnit na vlastní, případně jiný stroj více způsoby – přes Sambu (CIFS), NFS, nebo SSHFS. Pro zjednodušení připojování lze také využít Autofs. V části o Sambě najdete také způsob připojení windowsového domovského adresáře.

Níže uvedené návody jsou cíleny pro unixové OS. Pokud si chcete domovský adresář zpřístupnit na stroji s OS Windows, potřebný postup naleznete zde.

Obecné informace

Na připojování a odpojování slouží příkazy mount a umount, více informací o nich naleznete například v manuálových stránkách. Adresáři, ve kterém chcete zpřístupnit vzdálený adresář, se říká mountpoint. Mountpoint není voláním příkazu pro připojení vytvořen – je nutné, aby existoval předem (toto neplatí jenom pře Autofs, kde je vytvářen automaticky). Všechny připojené (přimountované) adresáře lze zobrazit příkazem mount bez parametrů.

Samba (CIFS)

Zpřístupnění přes Sambu je možné jenom pro stroje v síti FI a umožňuje jenom zpřístupnění domovského adresáře. Protokol Samba je v Internetu obecně blokován kvůli jeho častému zneužívání. Na svém stroji potřebujete mít root přístup a nástroj mount.cifs (například pod Debianem dostupný v balíčku cifs-utils). Export domovského adresáře protokolem Samba je povolen automaticky pro celou síť FI. Připojení vyžaduje autentizační údaje. Z bezpečnostního hlediska je nejlepší uložit je do souboru, ke kterému má přístup jenom root, protože obsahuje fakultní heslo v čisté podobě. Soubor můžeme vytvořit třeba v /etc/samba/fi_cred.conf, nastavit mu přístupová práva 600 a jeho obsah by měl být následovný:

username=login
password=heslo
domain=NTFI

Samotné zpřístupnění domovského adresáře do /mnt/fi-home lze provést příkazem mount:

muj_stroj# mount -t cifs //home.fi.muni.cz/login /mnt/fi-home \
    -o uid=muj_login,gid=skup,credentials=/etc/samba/fi_cred.conf

Parametry uid a gid jsou login a primární skupina na vašem stroji (lze zjistit příkazem id). Také lze uvedené parametry umístit do jednoho řádku souboru /etc/fstab:

//home.fi.muni.cz/login    /mnt/fi-home    cifs
    uid=muj_login,gid=skup,credentials=/etc/samba/fi_cred.conf  0  0

a následně stačí pro připojení příkaz

muj_stroj# mount /mnt/fi-home

Odpojení lze provést příkazem umount:

muj_stroj# umount /mnt/fi-home

V případě problémů s konfiguraci Samby lze otestovat funkčnost připojení také příkazem smbclient (obyčejně ze stejnojmenného balíka) a v případe úspěchu by se měl zobrazit prompt smb: \>

Připojení domovského adresáře Windows strojů

Příkazem mount lze také připojit i složku s domovským adresářem a profilem fakultních Windows strojů. Jako vzdálený adresář uveďte //ad.fi.muni.cz/DFS/home/login nebo některý z Windows disků, například:

mount -t cifs //ad.fi.muni.cz/DFS/home/login /mnt/fi-win-home \
    -o uid=muj_login,gid=skup,credentials=/etc/samba/fi_cred.conf

NFS

Zpřístupnění přes NFS je možné jenom pro stroje v síti FI a umožňuje jenom zpřístupnění domovského adresáře. Momentálně používaná verze 3 protokolu NFS na serveru s domovskými adresáři však vyžaduje, aby UID a primární GID uživatele, pod kterým budete na vašem stroji s adresáři pracovat, bylo shodné s UID a primárním GID fakultního unixového účtu (tyto informace lze zjistit příkazem id). Toto použití je tedy prozatím vhodnější pro nové instalace systému, kde lze tyto identifikátory jednoduše ovlivnit. Alternativně lze vytvořit nového uživatele, který bude mít požadované identifikátory a pak pracovat s připojenými soubory pod ním. V důsledku dalšího specifika NFS se pro přístup k těmto souborům v plné míře aplikují nastavená oprávnění souborů; tedy pokud nemáte soubory zpřístupněny pro ostatní, nedostanete se k nim ani pod uživatelem root na vašem stroji.

Na svém stroji opět potřebujete root přístup a nástroj mount.nfs (například pod Debianem dostupný v balíčku nfs-common). Dále také potřebujete mít povolen export domovského adresářeprotokolem NFS (změna se projeví do dvou hodin). Připojení nevyžaduje autentizaci, proto je potřeba zvážit riziko spojené s exportem. Zpřístupnění v mountpointe /mnt/fi-home lze opět provést příkazem mount s následujícími volbami:

muj_stroj# mount -t nfs home.fi.muni.cz:/export/home/login /mnt/fi-home \
    -o rw,noatime,soft,actimeo=30,vers=3,sloppy,addr=147.251.48.3

Opět připomeňme, že soubory v mountpointu jsou přístupné pod uživatelem se shodným UID a GID, proto je ověření funkčnosti připojení potřebné provádět pod ním, ne pod rootem.

Tyto parametry lze také uvést do souboru /etc/fstab (viz informace v části o Sambě). Případně lze doplnit mezi volby volbu user, aby mohl adresář připájet/odpájet i obyčejný uživatel):

home.fi.muni.cz:/export/home/login	/mnt/fi-home    nfs
    rw,user,noatime,soft,actimeo=30,vers=3,sloppy,addr=147.251.48.3  0  0

SSHFS

Na svém stroji potřebujete mít nainstalován nástroj sshfs. V závislosti na distribuci pak může být potřeba přidat váš účet do skupiny umožňující připájení pomocí FUSE (viz informace dále). Tento postup lze použít bez jakýchkoliv dalších omezení; jedinou podmínkou je funkční přihlašování na některý fakultní stroj (Aisa, Anxur, Nymfe, ...). Připojit můžete libovolný adresář v rámci vašeho fakultního domovského adresáře. Například pro připojení fakultního adresáře /home/login/mail do adresáře ~/fi-home lze provést následovně:

muj_stroj$ sshfs login@aisa:/home/login/mail ~/fi-home

Pokud tento příkaz skončí chybou přístupu k souboru /etc/fuse.conf, je potřeba přidat uživatele do skupiny fuse, například příkazem muj_stroj# usermod muj_login -aG fuse).

Po připojení zůstává příkaz sshfs běžet na pozadí a zabezpečuje přístup k vzdáleným souborům. Odpojení lze realizovat příkazem fusermount:

muj_stroj$ fusermount -u ~/fi-home

Autofs

Autofs umožňuje zjednodušit mountování souborových systémů odstraněním nutnosti mít požadovaný adresář pořád připojený nebo ho ručně odpojovat a připojovat. Autofs umí zabezpečit, že adresář se připojí dle potřeby při přístupu do něj a pak, pokud není určitou dobu používán, je odpojen. Samotné autofs tedy slouží jen k automatizaci správy připojených adresářů – kromě něj je proto nutné použít jednu z výše uvedených metod, které využívají fstab.

Pro jeho použití potřebujete root přístup na stroj a balíček autofs. Po instalaci je potřeba upravit obsah souborů /etc/auto.master s hlavní konfigurací autofs a /etc/auto.home s konfigurací pro stroj s domovskými adresáři home.fi.muni.cz. Do /etc/auto.master přidat řádek

/mnt/net   /etc/auto.home

a do nově vytvořeného /etc/auto.home přidat dle použitého protokolu řádek, kterého obsah je odvozen z fstab řádků pro daný protokol:

# pro pripojovani pres Sambu
fi-home-smb
    -fstype=cifs,uid=muj_login,gid=skup,credentials=/etc/samba/fi_cred.conf
    ://home.fi.muni.cz/login

# pro pripojovani pres NFS
fi-home-nfs
    rw,user,noatime,soft,actimeo=30,vers=3,sloppy,addr=147.251.48.3
    home.fi.muni.cz:/export/home/login

Obsah obou řádků je kvůli jejich délce zalomen; v souboru musí být všechny parametry pro každé připojení umístěny v jednom řádku. Pak je ještě třeba znovu načíst konfiguraci autofs, například příkazem /etc/init.d/autofs reload nebo jiným specifickým pro distribuci a autofs by již měl být funkční.

Mountpoint, do kterého se adresář automaticky připojí nesmí existovat. Pokusy o přístup do něj však vyvolají jeho vytvoření a připojení dle konfigurace, t.j. po vstupu do adresáře /mnt/net neuvidíte ve výpisu jeho obsahu žádný adresář, avšak příkaz cd fi-home-smb v případe korektní konfigurace uspěje a následný výpis obsahu zobrazí soubory ve vzdáleném adresáři. Po určité době nečinnosti je vzdálený adresář odpojen a mountpoint zmazán.

Možné problémy

Připojení vzdáleného adresáře do souborového systému způsobí překrytí obsahu adresáře, který používáme jako mountpoint. Původní adresář pořád existuje, ale až do odpojení vzdáleného adresáře není jednoduše přístupný. Avšak programy, které mají daný adresář nebo podadresář již otevřen, budou vidět jeho původní obsah. Proto pokud by jste se nacházeli v mountpointe, připojili do něj vzdálený adresář a vypsali si jeho obsah, zdánlivě by se nic nezměnilo. V takovém případě pomůže opětovné přepnutí do toho adresáře.

Při připájení adresářů po síti je dobré uvědomit si riziko spojené se ztrátou síťového připojení. V takovém případě samozřejmě přestane být práce s připojeným adresářem funkční. Také ale může dojít k zamrznutí programů, které pracují s obsahem v tomto adresáři (dostanou se do stavu nepřerušitelného spánku; ve výstupu top stav D) a tyto programy nemusí reagovat ani na signál SIGKILL (kill -9). Také odpojení adresáře u Samby a NFS pomocí umount může selhat. Někdy lze tento problém částečně vyřešit vynuceným líným odpojením: umount -lf; pro více informací viz manuálovou stránku příkazu.

Také není dobré násilně ukončovat běžící sshfs, jelikož pak nemusí být možné korektně odpojit připojený adresář.