Ubuntu-dokumentation

Introduktion

autofs er et program til automatisk at montere mapper efter behov. Auto-mounts monteres kun, når der er adgang til dem, og de afmonteres efter en periode med inaktivitet. På grund af dette sparer automounting af NFS/Samba-aktier båndbredde og giver en bedre samlet ydeevne sammenlignet med statiske mounts via fstab.

1.1. Kort bemærkning om termer

For at undgå forvirring vil følgende terminologier blive anvendt:

  • automount er det program, der bruges til at konfigurere et monteringspunkt for autofs. Når autofs startes, spawnes en automount-dæmon for hvert map.

  • Auto-mount eller auto-mounting henviser til processen med automatisk montering af filsystemer.
  • autofs er det program, der styrer driften af automount-dæmonerne.

Installation

Installer autofs-pakken enten ved at klikke her eller ved at indtaste følgende i et terminalvindue:

  • $ sudo apt-get install autofs

Konfiguration

autofs kan konfigureres ved at redigere konfigurationsfiler. Der er andre måder at konfigurere autofs på i et netværk (se AutofsLDAP), men konfigurationsfiler giver den enkleste opsætning.

3.1. Hovedkonfigurationsfilen

Den overordnede konfigurationsfil for autofs er som standard /etc/auto.master. Medmindre du har en god grund til at ændre dette, skal du lade den stå som standard.

Her er den prøvefil, der leveres af 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 kommenteres alle linjer ud ved at bruge #-tegnet.

Hver af linjerne i auto.master beskriver en mount og placeringen af dens map. Disse linjer har følgende format:

  • mount-point :] map 

3.1.1. Direkte og indirekte kort

automount-kort kan være direkte eller indirekte. Indirekte kort, som f.eks. dem i filen auto.master, der er vist ovenfor, opretter-mountpunkter som undermapper inden for hoved mount-pointet. Se f.eks. følgende hovedkortpost:

  • /smb /etc/auto.smb

Denne post i auto.master fortæller autofs, at han skal kigge i /etc/auto.smb og oprette mount-points i mappen /smb.

Direkte mapper opretter et mount-point på den sti, der er angivet i den relevante mappefil. Indtastningen af mount-point i auto.master er altid /-. Følgende linje instruerer f.eks. autofs om at oprette et mount-point på det sted, der er angivet i auto.data:

  • /- /etc/auto.data
  • Hvis kortfilen ikke er angivet ved hjælp af en fuld lokal eller netværkssti, vil konfigurationen af navneservice-switchen blive brugt til at finde kortet, f.eks:
    /- auto.data

3.2. Kortfiler

Som angivet ovenfor har hver autofs mount sin egen kortfil. Disse filer navngives normalt ved hjælp af konventionen auto.<X>, hvor <X> kan være hvad som helst, så længe det passer til en post i auto.master og er gyldigt for et filnavn.

Map-filer har følgende format:

  • key location

EKSEMPEL:

I denne vejledning vil vi konfigurere autofs til automatisk at montere et NFS-aktie ved hjælp af et sæt konfigurationsfiler. Denne howto forudsætter, at du allerede er bekendt med NFS-eksport, og at du allerede har en velfungerende NFS-andel på dit netværk. Gå til siden NFS-opsætning for at lære, hvordan du opstiller en sådan server.

4.1. Rediger /etc/auto.master

Det følgende trin opretter et monteringspunkt på /nfs og konfigurerer det i overensstemmelse med de indstillinger, der er angivet i /etc/auto.nfs (som vi opretter i det næste trin).

  1. Typ følgende ind i en terminal:
    $ sudo nano /etc/auto.master
  2. Føj følgende linje til sidst i /etc/auto.master:

    /nfs /etc/auto.nfs

4.2. Opret /etc/auto.nfs

Nu skal vi oprette den fil, der indeholder vores automounter-map:

  • $ sudo nano /etc/auto.nfs

Denne fil skal indeholde en separat linje for hvert NFS-aktie. Formatet for en linje er {mount point} {location}. Hvis du tidligere har konfigureret statiske mounts i /etc/fstab, kan det være nyttigt at henvise til disse. Husk, at de monteringspunkter, der angives her, vil være relative i forhold til det monteringspunkt, der er angivet i /etc/auto.master.

Den følgende linje er for shares, der bruger ældre versioner af NFS (før version 4):

  • server server:/

Dette opretter et nyt monteringspunkt på /nfs/server/ og monterer den NFS-rootmappe, der eksporteres af den maskine, hvis værtsnavn er server.

4.2.1. NFSv4

Hvis dine NFS-aktier bruger NFSv4, skal du fortælle autofs om det. I et sådant tilfælde vil ovenstående linje se ud som følger:

  • server -fstype=nfs4 server:/

Klienten har brug for de samme ændringer i /etc/default/nfs-common for at oprette forbindelse til en NFSv4-server.

  • I /etc/default/nfs-common indstiller vi:

    NEED_IDMAPD=yesNEED_GSSD=no # no is default

4.3. Afmonter statiske monteringer og rediger /etc/fstab

Hvis du tidligere har konfigureret NFS-aktierne som statiske monteringer, er det nu på tide at afmontere dem.

  • $ sudo umount /server

Dernæst skal du fjerne (eller kommentere ud) deres respektive poster i /etc/fstab.

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

4.4. Genindlæs /etc/init.d/autofs

Når du har indtastet dine ændringer, skal du køre følgende kommando for at genindlæse autofs:

  • $ sudo service autofs reload

Hvis du arbejder på en ældre ubuntu-version, og det ikke virker, så prøv:

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

Hvis du arbejder i Natty, og det ikke virker, så prøv:

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

4.5. Sørg for, at det virker

For at få adgang til delingen og kontrollere, at den fungerer korrekt, skal du indtaste følgende i en shell:

  • $ ls /nfs/server

Hvis du kan se din NFS share på listen, så tillykke! Du har en fungerende NFS-montering via autofs! Hvis du ønsker at lære nogle mere avancerede oplysninger, skal du læse videre.

Forbedret information

Hvis du følger ovenstående eksempel på mappestruktur, hvis du indtaster ls /nfs i en shell, vil du måske blive overrasket over at se, at der ikke er noget opført. Men husk, at du skal have adgang til en mappe, før den bliver automatisk monteret. For at få adgang til delingen skal du indtaste ls /nfs/server. Når du har fået adgang til den, vil din share kun være opført på listen, indtil den tager timeout. Dette er godt at huske på, da det kan spare dig for tid til at diagnosticere et autofs-problem, som i virkeligheden ikke er der.

5.1. Bemærk om /net og /smb

Disse to standardkonfigurationer kan være nyttige for din opsætning. Hvis du har mange NFS- eller Samba-aktier, bør du måske udkommentere disse linjer. /net aktiverer automatisk montering af filsystemer andre steder på netværket, som eksporteres af NFS. Hvis du f.eks. har en server ved navn fileserver med en NFS-eksportmappe ved navn /export, kan du montere den ved at skrive i en shell-kommandolinje cd /net/fileserver/export. I et miljø med NFS-filservere kan en sådan konfiguration være nyttig. /smb fungerer på samme måde, men er for Samba-filsystemer. Hvis du skal autentificere dig, før du får adgang til Samba-aktien, vil automount dog ikke fungere.

5.2. Jokertegn

Lad os sige, at du har en mappe med en række undermapper, som du ønsker at få auto-mountet individuelt. Et eksempel på dette er mappen /home, i hvilket tilfælde /etc/auto.master kan indeholde følgende linje:

  • /home /etc/auto.home

Hvis bruger1 er logget ind, ønsker du at auto-mounte hans hjemmemappe. Men hvis du opretter et monteringspunkt for hele /home-mappen, vil du også montere alle andre brugeres hjemmemapper på samme tid og dermed spilde båndbredde. En løsning på dette ville være at oprette separate poster for hver mappe, som følger:

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

Dette virker, men er besværligt. I stedet kan du bruge jokertegn som følger:

  • * server:/home/&

Stjernetegn (*) anvendes i stedet for monteringspunktet og et ampersand (&) i stedet for den mappe, der skal monteres. Du kan finde flere oplysninger om brugen af jokertegn under Brug af jokertegn som genveje i AutoFS-mapper.

Du kan også bruge variabler (se autofs(5)-manualsiden) til at erstatte brugere og andre parametre for at kunne oprette generiske filer for flere brugere. Eksemplet nedenfor er smb-map, der mapper baseret på bruger, som beder om delingen ved hjælp af $USER-variablen.

* -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

Montering af andre typer filsystemer

6.1. CIFS

Når du angiver et CIFS-aktie i en mappefil, skal du angive -fstype=cifs og sætte et kolon (:) foran aktiens placering.

Eksempel:

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

Eksempel:

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

Eksempel: Mount read-write, med angivelse af en bruger og en gruppe til at eje filerne:

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

Eksempel:

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

Eksempel: Mount read-write, angivelse af et brugernavn og en adgangskode, der skal bruges til at oprette forbindelse til delingen:

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

6.2. FUSE-baserede filsystemer

FUSE-baserede filsystemer monteres ved at angive -fstype=fuse. Filsystemets placering angiver den binære brugerrumsbinary, der bruges til at montere filsystemet, efterfulgt af en hash (#), efterfulgt af placeringen.

Når der angives en FUSE-filsystemplacering i en map-fil, skal visse tegn, navnlig hash (#) og kolon (:), undviges med en skråstreg (\). Hele placeringen skal indledes med et kolon (:).

Da automount udfører monteringen som root, er det normalt nødvendigt at angive allow_other i monteringsindstillingerne for at tillade dit brugerid, der ikke er root, at få adgang til delingen.

6.2.1. SSHFS-filsystemet

SSHFS er et FUSE-baseret filsystem. I en autofs-montering skal kolonet (:) efter servernavnet undslippes med en skråstreg (\).

Du bør allerede have opsat passwordløs autentificering via offentlig nøglekryptering. Vær sikker på, at du forstår de sikkerhedsmæssige konsekvenser af dette, før du fortsætter.

Husk, at automount vil montere dit SSHFS-filsystem som root, så du skal:

  1. Kopier din private nøgle til mappen /root/.ssh. Vær sikker på, at du forstår de sikkerhedsmæssige konsekvenser af dette, før du fortsætter.

  2. Føj de nødvendige værtsnøgler til /root/.ssh/known_hosts.

  3. Specificer det brugernavn, der bruges til at oprette forbindelse

For at teste montering af dit SSHFS-filsystem som root udstedte du følgende:

sudo sshfs [email protected]:/ mountpoint

Hvis monteringen lykkes uden at bede dig om en adgangskode, er du klar til at montere filsystemet via autofs

Eksempel:

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

Eksempel:

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

Eksempel: Mount read-write, med angivelse af en bruger og en gruppe til at eje filerne:

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

Bemærk, at for FUSE-montering skal uid og gid være numeriske id’er.

Debugging Auto Mount-problemer

Hvis du har problemer med at automounte dine filsystemer, kan det være nyttigt at køre automount i forgrunden.

  1. Stop autofs-dæmonen

    sudo service autofs stop
  2. Kør automount i forgrunden med verbose-informationer

    sudo automount -f -v
  3. Fra en anden terminal skal du prøve at montere dine filsystemer ved at ændre mapper i mountpunktet.
  4. Kontroller output fra den første terminal for at finde spor om, hvorfor mountningen mislykkedes eller ikke blev forsøgt.

Se også

  • Mount – Oplysninger om monteringsprocessen og dens konfiguration i Ubuntu.

  • The mount man page – hosted on the official Ubuntu website.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.