Ubuntu: de perfecte desktop – Verbindingen (NFS)


Dit artikel is onderdeel van de reeks Ubuntu: de perfecte desktop. Lees (als je dat nog niet gedaan hebt) eerst het artikel Ubuntu: de perfecte desktop – Introductie, voordat je dit artikel leest.

In het vorige artikel is Samba, wat Microsoft Windows, Linux en Apple Mac OS computers met elkaar verbindt, besproken. Als je alleen Linux/Unix computers hebt, dan kan je volstaan met NFS (Network File System). NFS is ontworpen door Sun Microsystems en is een bestandssysteem dat het mogelijk maakt om Linux/Unix bestanden op te vragen over het netwerk op dezelfde manier als men dit zou doen voor bestanden op de lokale schijf. Het enige nadeel is dat onder Ubuntu geen grafische interface aanwezig is om NFS in te stellen. Dus moeten we het handmatig doen, maar dat is vrij eenvoudig. Voordeel van NFS is, dat het sneller is dan Samba.

Bij NFS heb je een client en een server. De server is de computer waarop de folder staat die gedeeld moet worden. Je kan met een client inloggen op de server.

NFS Server installeren

Eerst gaan we de NFS software op de servercomputer installeren.

  1. Ga naar Toepassingen –> Hulpmiddelen –> Terminalvenster.
    Voer het volgende commando uit: sudo apt-get install nfs-kernel-server
  2. Vervolgens gaan we de folder die gedeeld moet worden opnemen in het bestand /etc/exports.
    Voer het commando sudo gedit /etc/exports uit in het terminalvenster om het exports bestand te openen met administrator rechten.
    Voeg bijvoorbeeld de volgende regel toe om je home-folder te delen: /home/leo *(rw,sync)
    De optie * geeft de hele wereld toegang tot je home-folder. In plaats van * kan je ook een computernaam of een IP-adres van een computer opnemen, of een IP-reeks (bijvoorbeeld 192.168.1.0/24; het lokale netwerk).
    De optie ‘rw’ geeft toegang voor zowel lezen als schrijven. Met de optie ‘ro’ (read-only) kan via NFS alleen gelezen worden.
    Kijk voor alle opties in de man page: man exports.
  3. De NFS server starten we met het commando: sudo /etc/init.d/nfs-kernel-server start
  4. Lijst van geëxporteerde NFS folders bijwerken met het commando: sudo exportfs -av

NFS Client installeren

Voor het installeren van de software op de client voer je het volgende commando uit in een terminalvenster: sudo apt-get install nfs-common

NFS gebruiken

Op de client computer kunnen we de /home/leo folder van de server aan een folder op de client koppelen. We maken hiervoor een aparte folder aan.

Ga naar Toepassingen –> Hulpmiddelen –> Terminalvenster.

Voer het volgende commando uit: sudo mkdir /media/nfs om de folder aan te maken.

Koppel de server folder aan deze folder met het commando: sudo mount <IP-adres servercomputer>:/home/leo /media/nfs
Vul in plaats van <IP-adres servercomputer> het daadwerkelijke IP-adres van de servercomputer in. Dit IP-adres vind je door op de servercomputer met de rechter muisknop op het netwerkicoon in de systray te klikken en Verbindingsinformatie te kiezen.

NFS folder automatisch aankoppelen bij starten van computer

Om de map automatisch te koppelen bij het starten van de computer kan een regel worden opgenomen in /etc/fstab:

  1. Ga naar Toepassingen –> Hulpmiddelen –> Terminalvenster.
  2. Open het bestand /etc/fstab in de gedit-teksteditor door het uitvoeren van het commando sudo gedit /etc/fstab
  3. Voeg aan het eind van het bestand de volgende regel toe:
    <IP-adres servercomputer>:/home/leo /media/nfs nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
  4. Klik op Opslaan in de werkbalk.
  5. Sluit het gedit venster.
  6. Sluit het terminalvenster.

Gebruikersrechten

Bovenstaande is een eenvoudige opzet en werkt met gebruiker-ID’s en wachtwoorden die op de server en client gelijk zijn. De UID en wachtwoord van een gebruiker moet dus aanwezig zijn op de server. Gebruikers en bijbehorende UID’s en paswoorden kunnen worden aangemaakt en gewijzigd in Systeem –> Beheer –> ‘Gebruikers en groepen’.

  • Gebruikers aanmaken kan je doen door in het venster Gebruikersinstellingen op de Toevoegen button te klikken. Denk er aan dat je op de server hetzelfde wachtwoord gebruikt als op de client van deze gebruiker.
  • Wijzigen van het gebruikers-ID (UID) doe je door in het venster Gebruikersinstellingen op de ‘Geavanceerde instellingen’ button te klikken en dan in het venster ‘Verander geavanceerde instellingen’ naar het tabblad Geavanceerd te gaan. Vul zowel bij ‘Persoonlijke map:’ als ‘Shell:’ /dev/null in. Indien je het niet kan kiezen type je het gewoon in. Deze instellingen voorkomen dat deze gebruiker als een desktopgebruiker wordt gezien. Wijzig het gebruikers-ID (UID) in het gebruikers-ID van deze gebruiker op de client.
  • Wijzigen van het gebruikerspaswoord doe je door in het venster Gebruikersinstellingen de gebruiker te selecteren en op ‘Verander…’ achter de regel ‘Wachtwoord:’ te klikken. Daarna kan je het paswoord wijzigen in het venster ‘Verander het wachtwoord’.

Als je bijvoorbeeld drie clients hebt en deze moeten tegelijkertijd bij de gedeelde NFS folder zijn, dan kan je niet drie gebruikers hebben met allemaal het hetzelfde UID. Je zult deze UID dus op twee clients moeten aanpassen. Een UID van een ingelogde gebruiker kan je niet aanpassen. Hiervoor zal je tijdelijk een andere gebruiker moeten aanmaken, met deze nieuwe gebruiker inloggen en de UID van de andere gebruiker moeten aanpassen met het administrator paswoord. Daarna kan je de nieuwe gebruiker weer weggooien.

Opmerking: Een gebruiker met administratorrechten kan op de server een ander gebruikers-ID (UID) gebruiken dan op de client. Let hier mee op.

Gerelateerde artikelen:

Zie Ubuntu: de perfecte desktop – Introductie voor de complete inhoud van deze artikelenreeks.

9 thoughts on “Ubuntu: de perfecte desktop – Verbindingen (NFS)

  1. Hallo Leo,

    ik draai al enige tijd (> 1 jaar) met NFS. En het bevalt me prima. Ik mount mijn gedeelde NFS folders bij het aanloggen via /etc/fstab. Dit werkte niet out-of-the-box bij mij. Je moest sudo zijn om een mount te mogen doen. Ik heb dit opgelost door een gebruikers groep aan te maken, en de eigenaar van /bin/mount te wijzigen in root:myNfsGroup. En alle gebruikers zijn lid van deze groep. Dit werkt prima, maar ik blijf het gevoel houden dat dit toch niet helemaal de juiste oplossing is. Nog een suggestie?

    Verder bedankt voor alle mooie “Ubuntu: de perfecte desktop” blogs.

  2. Leo,
    hieronder het stukje van de NFS folders:

    # Mount NFS Shares
    # device mountpoint fs-type options dump fsckorder
    :/var/backup /var/backup nfs user,rsize=8192,wsize=8192,soft,intr,noauto 0 0
    :/var/share /var/share nfs user,rsize=8192,wsize=8192,soft,intr,noauto 0 0
    :/var/media /var/media nfs user,rsize=8192,wsize=8192,soft,intr,noauto 0 0

    • Arjo, de opties user en noauto zijn niet geldig voor nfs (zie man nfs). Dit is een veel gemaakte fout. Verder zijn de entries correct.
      Het is heel normaal dat een administrator (root) het NFS filesysteem configureert en mount.

      Heb je autologin aanstaan? Bij autologin wordt het adminpaswoord niet kenbaar gemaakt aan het systeem. De eerste actie waarvoor dit nodig is, zal om dit wachtwoord vragen. In dit geval kan dat de NFS-mount zijn.

      Edit: regel verwijderd. Opties zijn wel geldig omdat deze generieke opties zijn.

    • Misschien helpt sudo chmod -R 777 /var/backup. Idem voor de andere twee folders. Deze folders staan dan open voor de hele wereld. In /etc/exports kan je specificeren welke computers toegang mogen hebben.

      • Leo,

        autologin heb ik niet aan staan. Men moet gewoon inloggen met gebruiker/wachtwoord. Je 2de voorstel had ik eerst ook, maar vind ik niet ‘veilig’. In /etc/exports heb ik al de computers opgegeven die bij de server/NFS folders mogen.

        Heel erg bedankt voor het meedenken over mijn NFS “probleempje”.

        • Arjo, ik heb het bij mezelf nog een keer uitgeprobeerd, maar ik kan zonder problemen mounten na het booten. Zonder een paswoord op te moeten geven. Mijn gebruikers komen op de server en client wel overeen met hetzelfde wachtwoord.

          Ik heb het met 2 settings geprobeerd en beide werken:
          1) server: /home/leo met gebruiker leo; client /media/nfs met gebruiker leo –> wordt gemount met alle rechten voor leo
          2) server: /var/leo met gebruiker leo; client /media/nfs met gebruiker leo –> wordt gemount met alleen leesrechten voor leo, dit klopt natuurlijk omdat /var/leo van root is.

          Ik gebruik Ubuntu 10.04. Welke versie gebruik jij?

          • Leo, mijn server draait Ubuntu server 10.04, mijn pc heeft linux mint 8 (ben met update naar 9 bezig) en mijn laptop draait linux mint 9.
            De gebruikersnamen en id’s zijn op alle machines gelijk. De wachtwoorden ook.

            Mijn nfs folders op de server zijn van root:myNfsGroup. Ik had beter de nfs folders onder /home kunnen plaatsen, begrijp ik nu. Lijkt me een mooie klus als ik de server eens onderhanden ga nemen. Voorlopig kan ik hier wel mee leven.

            Thanx again !

Vragen, opmerkingen en meningen over dit artikel kan je hier kwijt:

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s