Liever een NFS oplossing? Kijk dan hier (werkt veel beter op een Linux computer)
Als je naast je ‘gewone’ computer ook nog andere computers in je netwerk hebt hangen dan wil je daar op enig moment natuurlijk ook naar toe kunnen gaan. Als die andere computers werken onder Windows dan maak je daarvoor meestal gebruik van het zgn. Samba protocol. Het werkt snel, wordt goed ondersteund door Linux en je kan er zondermeer gebruik van maken via bijvoorbeeld Nautilus. Samba is zo ingeburgerd dat ook Linuxservers Samba bijna standaard aan boord hebben.
Het is eenvoudig om verbinding te krijgen met een samba share. In nautilus tik je in smb://usernaam@ipadresvanserver/sharenaam en je komt binnen. Maar is het niet gemakkelijker om het automatisch te doen? Je zet je computer aan en de samba share is beschikbaar. Hoe dat gaat staat in dit artikel.
Aan de slag op de server
In mijn situatie gaat het om een gewenste permanente verbinding tussen mijn Ubuntu desktop en een in mijn netwerk opererende QNAP NAS (TS-419P). Die NAS geeft de mogelijkheid om met Samba te werken. Dankzij de eenvoudige webinterface van QNAP is het een kwestie van een vinkje plaatsen bij de Netwerk Services.
Het instellen van de cliënt
Op de desktop moet er wel wat meer gebeuren. Om te beginnen installeer je het pakket smbfs met het commando sudo apt-get install smbfs
The SMB/CIFS protocol provides support for cross-platform file sharing with Microsoft Windows, OS X, and other Unix systems.
Omdat ik specifiek wil dat een share op mijn QNAP NAS constant is gemount moet ik ervoor zorgen dat bij het booten de inloggegevens van die NAS bekend zijn. Daarom maak je een klein onzichtbaar tekstbestandje (gksudo gedit /root/.naslogin) en plaatst daarin je gebruikersnaam en je wachtwoord. Let wel..de gebruikersnaam en het wachtwoord van de gebruiker op je NAS.
In dit voorbeeld noem ik dat bestand dus .naslogin waardoor de PUNT ervoor zorgt dat het bestand niet automatisch zichtbaar wordt weergegeven. In dit bestand komen maar twee regels tekst te staan:
username=
password=
En inderdaad, achter het = teken komt dan de gebruikersnaam en wachtwoord te staan van de gebruiker op die NAS. Omdat het bestand onzichtbaar in de /root map komt te staan heeft het in ieder geval een veilig plekje gevonden.
Dit bestand moet je aanpassen met het commando: sudo chmod 600 /root/.naslogin
Vervolgens open je met rootrechten wederom je editor en past het bestand /etc/hosts aan (gksudo gedit /etc/hosts) In dit bestand voeg je het IP adres van je server met daarachter de netwerknaam toe. De standaard netwerknaam van een QNAP NAS is QNAP en als je die niet zou hebben veranderd komt er dus QNAP achter het IP adres van je NAS te staan.
De volgende stap is het aanmaken van een zgn. mountpoint. Dat is een map die straks de complete inhoud van de QNAP share laat zien alsof het op jouw computer staat. Je maakt die map aan met het commando sudo mkdir /media/mapnaam. In dit voorbeeld noem ik die map dus ‘mapnaam’
Die map moet je vervolgens even goed in zijn rechten zetten. Vanuit de terminal doe je dat met het commando sudo chmod 777 /media/mapnaam
We zijn er nu bijna. Je moet nu het bestand /etc/fstab aanpassen. Dat doe wederom met rootrechten en dus met gksudo gedit /etc/fstab. Maak het venster van gedit wat groter zodat alles keurig wordt uitgelijnd en voeg een nieuwe regel toe met de volgende syntax:
//ipadresvanjeserver/sharenameopserver /media/mapnaam cifs credentials=/root/.naslogin,rw,iocharset=utf8,dir_mode=0777,file_mode=0777 0 0
Let dus goed op dat je de juiste waardes vermeld (ipadres, mapnaam, sharenaam en inlogbestand). Als het allemaal correct is wordt de verbinding gemaakt als je daarna het commando sudo mount -a intikt in je terminal. Je ziet dan een icoon van de share op je bureaublad verschijnen.
Tot slot:
Als je hierna je computer herstart zie je meteen weer dat icoon op je bureaublad staan én een vermelding in Nautilus. Als je liever geen icoon op je bureaublad ziet staan dan kan je kiezen om sudo gconf-editor in te voeren en dan het vinkje te verwijderen bij de entry: Apps/nautilus/desktop.. volumes_visible.