Ubuntu-dokumentation

Introduktion

autofs är ett program för automatisk montering av kataloger vid behov. Auto-monterade kataloger monteras endast när det görs åtkomst till dem och avmonteras efter en period av inaktivitet. På grund av detta sparar automatisk montering av NFS/Samba-andelar bandbredd och ger bättre övergripande prestanda jämfört med statisk montering via fstab.

1.1. Snabb notering om termer

För att undvika förvirring kommer följande terminologier att användas:

  • automount är det program som används för att konfigurera en monteringspunkt för autofs. När autofs startas startas en automount-daemon för varje mappning.

  • Auto-mount eller auto-mounting avser processen att automatiskt montera filsystem.
  • autofs är det program som styr driften av automount-daemonerna.

Installation

Installera autofs-paketet antingen genom att klicka här eller skriva in följande i ett terminalfönster:

  • $ sudo apt-get install autofs

Konfiguration

autofs kan konfigureras genom att redigera konfigurationsfiler. Det finns andra sätt att konfigurera autofs i ett nätverk (se AutofsLDAP), men konfigurationsfiler ger den enklaste inställningen.

3.1. Huvudkonfigurationsfilen

Mästarkonfigurationsfilen för autofs är som standard /etc/auto.master. Om du inte har en bra anledning att ändra detta, låt den vara standard.

Här är exempelfilen som tillhandahålls av 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
  • Som standard kommenteras alla rader med tecknet #.

Varje rad i auto.master beskriver ett mount och platsen för dess karta. Dessa rader har följande format:

  • mount-point :] map 

3.1.1. Direkta och indirekta kartor

Automountkartor kan vara direkta eller indirekta. Indirekta mappningar, som de i filen auto.master som visas ovan, skapar-monteringspunkter som underkataloger inom huvudmonteringspunkten. Tänk till exempel på följande huvudmappningspost:

  • /smb /etc/auto.smb

Denna post i auto.master säger åt autofs att leta i /etc/auto.smb och skapa monteringspunkter i katalogen /smb.

Direkta kartor skapar en monteringspunkt vid den sökväg som anges i den relevanta kartfilen. Inmatningen av monteringspunkten i auto.master är alltid /-. Följande rad instruerar till exempel autofs att skapa en monteringspunkt på den plats som anges i auto.data:

  • /- /etc/auto.data
  • Om kartfilen inte anges med en fullständig lokal eller nätverkssökväg används konfigurationen för Name Service Switch för att hitta kartan, t.ex:
    /- auto.data

3.2. Mappningsfiler

Som anges ovan har varje autofs-montering sin egen mappningsfil. Dessa filer namnges vanligtvis med hjälp av konventionen auto.<X>, där <X> kan vara vad som helst så länge det matchar en post i auto.master och är giltigt för ett filnamn.

Kartfiler har följande format:

  • key location

EXEMPEL:

I den här instruktionsboken konfigurerar vi autofs för att automatiskt montera en NFS-frekvens med hjälp av en uppsättning konfigurationsfiler. Den här instruktionen förutsätter att du redan är bekant med NFS-export och att du redan har en korrekt fungerande NFS-delning i ditt nätverk. Gå till sidan NFS-installation för att lära dig hur du konfigurerar en sådan server.

4.1. Redigera /etc/auto.master

Följande steg skapar en monteringspunkt på /nfs och konfigurerar den enligt de inställningar som anges i /etc/auto.nfs (som vi skapar i nästa steg).

  1. Skriv följande i en terminal:
    $ sudo nano /etc/auto.master
  2. För att lägga till följande rad i slutet av /etc/auto.master:

    /nfs /etc/auto.nfs

4.2. Skapa /etc/auto.nfs

Nu ska vi skapa filen som innehåller vår automounter-mappning:

  • $ sudo nano /etc/auto.nfs

Denna fil bör innehålla en separat rad för varje NFS-delning. Formatet för en rad är {mount point} {lokalisering}. Om du tidigare har konfigurerat statiska monteringar i /etc/fstab kan det vara bra att hänvisa till dessa. Kom ihåg att de monteringspunkter som anges här kommer att vara relativa till den monteringspunkt som anges i /etc/auto.master.

Följande rad är för delningar som använder äldre versioner av NFS (före version 4):

  • server server:/

Detta skapar en ny monteringspunkt på /nfs/server/ och monterar den NFS-rotkatalog som exporteras av den maskin vars värdnamn är server.

4.2.1. NFSv4

Om dina NFS-andelar använder NFSv4 måste du informera autofs om detta. I ett sådant fall skulle ovanstående rad se ut på följande sätt:

  • server -fstype=nfs4 server:/

Klienten behöver samma ändringar i /etc/default/nfs-common för att ansluta till en NFSv4-server.

  • I /etc/default/nfs-common ställer vi in:

    NEED_IDMAPD=yesNEED_GSSD=no # no is default

4.3. Avmontera statiska monteringar och redigera /etc/fstab

Om du tidigare har konfigurerat NFS-andelarna som statiska monteringar är det nu dags att avmontera dem.

  • $ sudo umount /server

Nästan tar du bort (eller kommenterar) deras respektive poster i /etc/fstab.

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

4.4. Ladda om /etc/init.d/autofs

När du har angett dina ändringar kör du följande kommando för att ladda om autofs:

  • $ sudo service autofs reload

Om du arbetar på en äldre ubuntu-version, och det inte fungerar, prova:

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

Om du arbetar i Natty, och det inte fungerar, prova:

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

4.5. Kontrollera att det fungerar

För att komma åt delningen och kontrollera att den fungerar som den ska, skriv in följande i ett skal:

  • $ ls /nfs/server

Om du ser din NFS-delning listad, grattis! Du har en fungerande NFS-montering via autofs! Om du vill lära dig mer avancerad information kan du fortsätta läsa.

Fördjupad information

Om du skulle skriva in ls /nfs i ett skal, om du följer exempelkatalogstrukturen ovan, kan du bli förvånad om du inte ser något i listan. Men kom ihåg att du måste få tillgång till en katalog innan den monteras automatiskt. För att komma åt delningen skriver du ls /nfs/server. När du väl har fått tillgång till den kommer din delning att listas endast tills den tar timeout. Detta är bra att ha i åtanke, eftersom det kan spara tid på att diagnostisera ett autofs-problem som egentligen inte finns.

5.1. Notering om /net och /smb

Dessa två standardkonfigurationer kan vara användbara för din uppsättning. Om du har många NFS- eller Samba-delningar kanske du vill avkommentera dessa rader. /net aktiverar automatisk montering av filsystem på andra platser i nätverket som exporteras av NFS. Om du till exempel har en server som heter fileserver med en NFS-exportkatalog som heter /export kan du montera den genom att skriva i en skalkommandorad cd /net/fileserver/export. I en miljö med NFS-filservrar kan en sådan konfiguration vara användbar. /smb fungerar på samma sätt men är för Samba-filsystem. Om du måste autentisera dig innan du får tillgång till Samba-frekvensen kommer automount dock inte att fungera.

5.2. Jokertecken

Säg att du har en katalog med ett antal underkataloger som du vill ha auto-mounted individuellt. Ett exempel på detta är katalogen /home, i vilket fall /etc/auto.master kan innehålla följande rad:

  • /home /etc/auto.home

Om användare1 är inloggad vill du automatiskt montera hans hemkatalog. Men om du skapar en monteringspunkt för hela /home-katalogen kommer du också att montera hemkatalogerna för alla andra användare samtidigt, vilket slösar bort bandbredd. En lösning på detta kan vara att skapa separata poster för varje katalog, enligt följande:

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

Detta fungerar, men är besvärligt. Istället kan du använda jokertecken, enligt följande:

  • * server:/home/&

Stjärnan (*) används i stället för monteringspunkten och ampersand (&) i stället för den katalog som ska monteras. Mer information om användningen av jokertecken finns i Användning av jokertecken som genvägar i AutoFS-mappningar.

Du kan också använda variabler (se autofs(5) man-sidan) för att ersätta användare och andra parametrar för att kunna skapa generiska filer för flera användare. Exempel nedan är en smb-mappning som mappar baserat på användare som frågar efter delningen med hjälp av variabeln $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

Mountning av andra typer av filsystem

6.1. CIFS

När du anger en CIFS-delning i en mappningsfil ska du ange -fstype=cifs och föregå delningsplatsen med ett kolon (:).

Exempel:

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

Exempel: Montera read-write och ange en användare och grupp som äger filerna:

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

Exempel: Montera read-write och ange användarnamn och lösenord för att ansluta till resursen:

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

6.2. FUSE-baserade filsystem

FUSE-baserade filsystem monteras genom att ange -fstype=fuse. Filsystemets plats anger den binärfil som används i användarutrymmet för att montera filsystemet, följt av en hash (#), följt av platsen.

När man anger ett FUSE-filsystems placering i en mappfil måste vissa tecken, särskilt hash (#) och kolon (:), undvikas med ett backslash (\). Hela platsen måste föregås av ett kolon (:).

Då automount utför monteringen som root är det vanligtvis nödvändigt att ange allow_other i monteringsalternativen för att tillåta din icke-rootanvändare att komma åt resursen.

6.2.1. SSHFS-filsystem

SSHFS är ett FUSE-baserat filsystem. I en autofs-montering måste kolonet (:) efter servernamnet undvikas med ett backslash (\).

Du bör redan ha konfigurerat lösenordslös autentisering via offentlig nyckelkryptering. Se till att du förstår säkerhetsimplikationerna av detta innan du fortsätter.

Håll dig i minnet att automount kommer att montera ditt SSHFS-filsystem som root, så du måste:

  1. Kopiera din privata nyckel till katalogen /root/.ssh. Var säker på att du förstår säkerhetsimplikationerna av detta innan du fortsätter.

  2. Lägg till de nödvändiga värdnycklarna till /root/.ssh/known_hosts.

  3. Specificera användarnamnet som används för att ansluta

För att testa att montera ditt SSHFS-filsystem som root utfärdade du följande:

sudo sshfs [email protected]:/ mountpoint

Om monteringen lyckas utan att du uppmanas att ange ett lösenord är du redo att montera filsystemet via autofs

Exempel:

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

Exempel: Montera read-write och ange en användare och en grupp som äger filerna:

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

Notera att för FUSE-montering måste uid och gid vara numeriska id:n.

Felsökning av problem med automatisk montering

Om du har problem med automatisk montering av dina filsystem kan det vara användbart att köra automount i förgrunden.

  1. Stoppa autofs-demonen

    sudo service autofs stop
  2. Kör automount i förgrunden med verbose-information

    sudo automount -f -v
  3. Från en annan terminal, försök att montera dina filsystem genom att byta kataloger till monteringspunkten.
  4. Kontrollera utdata från den första terminalen för ledtrådar om varför monteringen misslyckades eller inte försökte.

Se även

  • Mount – Information om monteringsprocessen och dess konfiguration i Ubuntu.

  • The mount man page – finns på Ubuntus officiella webbplats.

Lämna ett svar

Din e-postadress kommer inte publiceras.