Dokumentace k Ubuntu

Úvod

autofs je program pro automatické připojování adresářů podle potřeby. Automatická připojení se připojují pouze při přístupu k nim a po určité době nečinnosti se odpojí. Díky tomu automatické připojování sdílených souborů NFS/Samba šetří šířku pásma a nabízí lepší celkový výkon ve srovnání se statickým připojováním pomocí fstab.

1.1. Stručná poznámka k pojmům

Aby se předešlo nedorozuměním, bude se používat následující terminologie:

  • automount je program používaný ke konfiguraci přípojného bodu pro autofs. Při spuštění programu autofs se pro každou mapu spustí démon automount.

  • Auto-mount neboli automatické připojování označuje proces automatického připojování souborových systémů.
  • autofs je program, který řídí činnost démonů automount.

Instalace

Balíček autofs nainstalujete buď kliknutím sem, nebo zadáním následujícího příkazu do okna terminálu:

  • $ sudo apt-get install autofs

Konfigurace

autofs lze konfigurovat úpravou konfiguračních souborů. Existují i jiné způsoby konfigurace autofs v síti (viz AutofsLDAP), ale konfigurační soubory poskytují nejjednodušší nastavení.

3.1. Hlavní mapový soubor

Výchozí konfigurační soubor pro autofs je /etc/auto.master. Pokud nemáte pádný důvod pro jeho změnu, ponechte jej jako výchozí.

Tady je ukázkový soubor poskytovaný Ubuntu:

## $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $## Sample auto.master file# This is an automounter map and it has the following format# key location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60#/smb /etc/auto.smb#/misc /etc/auto.misc#/net /etc/auto.net
  • Ve výchozím nastavení jsou všechny řádky zakomentovány pomocí znaku #.

Každý z řádků v souboru auto.master popisuje připojení a umístění jeho mapy. Tyto řádky mají následující formát:

  • mount-point :] map 

3.1.1. Přímé a nepřímé mapy

automount mapy mohou být přímé nebo nepřímé. Nepřímé mapy, jako například ty v souboru auto.master uvedeném výše, vytvářejí přípojné body jako podadresáře uvnitř hlavního přípojného bodu. Vezměme například následující položku hlavní mapy:

  • /smb /etc/auto.smb

Tento záznam v souboru auto.master říká programu autofs, aby se podíval do adresáře /etc/auto.smb a vytvořil přípojné body v adresáři /smb.

Přímé mapy vytvoří přípojný bod na cestě uvedené v příslušném souboru mapy. Položka přípojného bodu v souboru auto.master je vždy /-. Například následující řádek dává autofs pokyn k vytvoření přípojného bodu na místě zadaném v auto.data:

  • /- /etc/auto.data
  • Pokud není soubor mapy zadán pomocí úplné místní nebo síťové cesty, použije se k vyhledání mapy konfigurace přepínače jmenných služeb, např:
    /- auto.data

3.2. Mapové soubory

Jak je uvedeno výše, každé připojení autofs má svůj vlastní mapový soubor. Tyto soubory jsou obvykle pojmenovány podle konvence auto.<X>, kde <X> může být cokoli, pokud to odpovídá položce v auto.master a platí pro název souboru.

Soubory map mají následující formát:

  • key location

NAPŘÍKLAD: V tomto návodu nakonfigurujeme autofs pro automatické připojování sdílené složky NFS pomocí sady konfiguračních souborů. Tento návod předpokládá, že jste již obeznámeni s exporty NFS a že již máte v síti správně fungující sdílení NFS. Přejděte na stránku Nastavení NFS, kde se dozvíte, jak takový server nastavit.

4.1. Úprava souboru /etc/auto.master

Následující krok vytvoří přípojný bod na adrese /nfs a nakonfiguruje jej podle nastavení uvedených v souboru /etc/auto.nfs (který vytvoříme v dalším kroku).

  1. Na terminálu zadejte následující příkaz:
    $ sudo nano /etc/auto.master
  2. Na konec souboru /etc/auto.master přidejte následující řádek:

    /nfs /etc/auto.nfs

4.2. Vytvoření souboru /etc/auto.nfs

Nyní vytvoříme soubor, který bude obsahovat naši mapu automatického počítadla:

  • $ sudo nano /etc/auto.nfs

Tento soubor by měl obsahovat samostatný řádek pro každou sdílenou složku NFS. Formát řádku je {mount point}. {umístění}. Pokud jste dříve nakonfigurovali statické připojení v /etc/fstab, může být užitečné na ně odkázat. Nezapomeňte, že zde zadané přípojné body budou relativní vůči přípojnému bodu uvedenému v /etc/auto.master.

Následující řádek je určen pro sdílení používající starší verze systému NFS (před verzí 4):

  • server server:/

Tento příkaz vytvoří nový přípojný bod na adrese /nfs/server/ a připojí kořenový adresář systému NFS exportovaný počítačem, jehož jméno hostitele je server.

4.2.1. NFSv4

Pokud vaše sdílené soubory NFS používají systém NFSv4, je třeba o tom informovat systém autofs. V takovém případě by se výše uvedený řádek zobrazil takto:

  • server -fstype=nfs4 server:/

Klient potřebuje stejné změny v /etc/default/nfs-common, aby se mohl připojit k serveru NFSv4.

  • V /etc/default/nfs-common nastavíme:

    NEED_IDMAPD=yesNEED_GSSD=no # no is default

4.3. Odpojení statických úložišť a úprava /etc/fstab

Pokud jste dříve nakonfigurovali sdílené soubory NFS jako statická úložiště, je nyní čas je odpojit.

  • $ sudo umount /server

Následujte odstranění (nebo zakomentování) jejich příslušných záznamů v /etc/fstab.

  • #server:/ /server/ nfs defaults 0 0

4.4. Opětovné načtení souboru /etc/init.d/autofs

Po zadání změn spusťte následující příkaz pro opětovné načtení systému autofs:

  • $ sudo service autofs reload

Pokud pracujete na starší verzi ubuntu a nefunguje to, zkuste:

  • $ sudo /etc/init.d/autofs reload

Pokud pracujete v Natty a nefunguje to, zkuste:

  • $ sudo /etc/init.d/autofs restart

4.5. Ujistěte se, že to funguje

Pro přístup ke sdílené složce a ověření, že funguje správně, zadejte do shellu následující příkaz:

  • $ ls /nfs/server

Pokud se v seznamu zobrazí vaše sdílené místo NFS, gratulujeme! Máte funkční připojení NFS přes autofs! Pokud se chcete dozvědět některé pokročilejší informace, pokračujte ve čtení.

Pokročilé informace

Pokud byste podle výše uvedeného příkladu adresářové struktury zadali do shellu příkaz ls /nfs, mohli byste být překvapeni, že v seznamu nic nevidíte. Nezapomeňte však, že před automatickým připojením adresáře k němu musíte získat přístup. Chcete-li získat přístup ke sdílenému adresáři, zadejte příkaz ls /nfs/server. Jakmile k němu získáte přístup, bude vaše sdílená složka uvedena pouze do doby, než se ukončí. To je dobré mít na paměti, protože vám to může ušetřit čas při diagnostice problému s autofs, který ve skutečnosti neexistuje.

5.1. Poznámka k /net a /smb

Tyto dvě výchozí konfigurace mohou být užitečné pro vaše nastavení. Pokud máte hodně sdílených souborů NFS nebo Samba, možná budete chtít tyto řádky odkomentovat. /net umožňuje automatické připojování souborových systémů jinde v síti, které jsou exportovány systémem NFS. Máte-li například server s názvem fileserver s adresářem pro export NFS s názvem /export, můžete jej připojit zadáním příkazového řádku shellu cd /net/fileserver/export. V prostředí se souborovými servery NFS může být taková konfigurace užitečná. Adresář /smb funguje stejně, ale je určen pro souborové systémy Samba. Pokud je však třeba se před přístupem ke sdílenému souboru Samba ověřit, automatické připojení nebude fungovat.

5.2. Zástupné znaky

Řekněme, že máte adresář s několika podadresáři, které chcete nechat automaticky připojit jednotlivě. Příkladem je adresář /home, v takovém případě může soubor /etc/auto.master obsahovat následující řádek:

  • /home /etc/auto.home

Je-li přihlášen uživatel1, budete chtít automaticky připojit jeho domovský adresář. Pokud však vytvoříte přípojný bod pro celý adresář /home, připojíte současně i domovské adresáře všech ostatních uživatelů, čímž dojde k plýtvání šířkou pásma. Jedním z řešení tohoto problému by bylo vytvoření samostatných záznamů pro každý adresář, a to následujícím způsobem:

  • # /etc/auto.homeuser1 server:/home/user1user2 server:/home/user2user3 server:/home/user3

To funguje, ale je to těžkopádné. Místo toho můžete použít znaky zástupných karet, a to následujícím způsobem:

  • * server:/home/&

Hvězdička (*) se použije místo přípojného bodu a ampersand (&) místo připojovaného adresáře. Podrobnější informace o používání zástupných znaků naleznete v části Používání zástupných znaků jako zkratek v mapách systému AutoFS.

Můžete také použít proměnné (viz manuálová stránka autofs(5)) pro nahrazení uživatelů a dalších parametrů, abyste mohli vytvořit obecný soubor pro více uživatelů. Níže je uveden příklad mapy smb, která mapuje na základě uživatele, který se ptá na sdílení pomocí proměnné $USER.

* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USERshare1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2

Montáž jiných typů souborových systémů

6.1. CIFS

Při zadávání sdílené složky CIFS v mapovém souboru zadejte -fstype=cifs a před umístění sdílené složky vložte dvojtečku (:).

Příklad:

mntpoint -fstype=cifs ://example.com/shrname

Příklad: Připojení pro čtení a zápis s uvedením uživatele a skupiny, která bude soubory vlastnit:

mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname

Příklad: Připojení pro čtení a zápis se zadáním uživatelského jména a hesla pro připojení ke sdílené složce:

mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname

6.2. Souborové systémy založené na FUSE

Souborové systémy založené na FUSE se připojují zadáním parametru -fstype=fuse. Umístění souborového systému určuje binární soubor v uživatelském prostoru použitý k připojení souborového systému, za nímž následuje hash (#) a za ním umístění.

Při zadávání umístění souborového systému FUSE v souboru mapy musí být některé znaky, zejména hash (#) a dvojtečka (:), překryty zpětným lomítkem (\). Celému umístění musí předcházet dvojtečka (:).

Protože funkce automount provádí připojení jako root, je obvykle nutné v možnostech připojení zadat allow_other, abyste umožnili přístup ke sdílenému souboru uživateli, který není root.

6.2.1. Souborový systém SSHFS

SSHFS je souborový systém založený na FUSE. Při připojování pomocí autofs musí být dvojtečka (:) za názvem serveru uzavřena zpětným lomítkem (\).

Měli byste již nastavit ověřování bez hesla pomocí šifrování veřejného klíče. Než budete pokračovat, ujistěte se, že rozumíte bezpečnostním důsledkům tohoto postupu.

Pamatujte, že funkce automount připojí váš souborový systém SSHFS jako root, takže musíte:

  1. Zkopírujte svůj soukromý klíč do adresáře /root/.ssh. Než budete pokračovat, ujistěte se, že rozumíte bezpečnostním důsledkům tohoto postupu.

  2. Přidat potřebné klíče hostitelů do adresáře /root/.ssh/known_hosts.

  3. Zadejte uživatelské jméno používané pro připojení

Pro otestování připojení souborového systému SSHFS jako root vydejte následující příkaz:

sudo sshfs [email protected]:/ mountpoint

Pokud se připojení podaří bez výzvy k zadání hesla, jste připraveni k připojení souborového systému prostřednictvím autofs

Příklad:

mntpoint -fstype=fuse,allow_other :sshfs\#[email protected]\:/path/to/mount

Příklad: Připojení pro čtení a zápis se zadáním uživatele a skupiny, která bude soubory vlastnit:

mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#[email protected]\:/path/to/mount

Poznamenejte, že pro připojování pomocí FUSE musí být uid a gid číselná ID.

Problémy s automatickým připojováním

Pokud máte problémy s automatickým připojováním souborových systémů, může být užitečné spustit automatické připojování v popředí.

  1. Zastavte démona autofs

    sudo service autofs stop
  2. Spusťte automatické připojování v popředí se slovními informacemi

    sudo automount -f -v
  3. Z jiného terminálu zkuste připojit své souborové systémy změnou adresářů do přípojného bodu.
  4. Podívejte se na výstup z prvního terminálu a zjistěte, proč se připojení nezdařilo nebo se o něj nepokusili.

Viz také

  • Mount – informace o procesu připojování a jeho konfiguraci v Ubuntu.

  • Manuální stránka mount – je umístěna na oficiálních stránkách Ubuntu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.