Servrar/Nfs
Från Ubuntu Sverige
Innehåll |
[redigera] NFS
När det gäller utdelning av kataloger och filer mellan två eller flera Linux-datorer så är det bara en teknik som gäller, nämligen Network File System (NFS).
Linux, till skillnad från ett annat välkänt operativsystem, har nätverkstänkandet med sig från grunden. Det är möjligt att "sömlöst" integrera utdelade kataloger från andra Linux-datorer i filsystemet. Det ser ut som om dessa är -finns lokalt- på den dator som du för närvarande sitter vid.
Den dator som ansluter sig till den utdelade katalogen kallas för klient. Detta oavsett om den i alla övriga avseenden är en server. Den dator som delar ut en katalog för andra datorer att ansluta sig, kallas för server. En dator kan till och med vara både och, på samma gång. Men för olika resurser.
[redigera] Förberedelser
Först skall vi ta reda på vad våra datorer heter i nätverket. Detta steg får du göra om på varje dator i ditt nätverk (både server och klienter). Öppna en terminal och skriv:
ifconfig | grep Bcast | awk '{print $2}'
Siffrorna som du får är datorns interna ip-adress.
I exemplen nedan kommer serverns ip-adress vara 192.168.0.64 och klientens 192.168.0.65
[redigera] NFS-servern
För att en Ubuntu-dator ska kunna bli NFS-server, behöver man installera paketet nfs-kernel-server. Detta kan göras med Synaptic (System -> Administration -> Synaptic) eller med apt-get:
sudo apt-get install nfs-kernel-server
Att dela ut kataloger kallas på NFS-språk att exportera. Följaktligen sker inställningarna i filen /etc/exports. Som alla andra inställningsfiler i Linux är detta en textfil som man enkelt kan redigera.
En exporterad katalog har tre huvud-inställningar:
[redigera] Sökväg till katalogen
En viktig skillnad mot Windows är att man inte ger utdelningen ett speciellt namn. Delar man ut katalogen /home/nisse/bilder, heter katalogen just detta ut mot omvärlden också.
[redigera] Vilka datorer som ska kunna komma åt den
Det finns flera sätt att ange vilka klientdatorer som ska ha tillgång till den exporterade katalogen:
- enskild klient (klient01.exempel.se)
- NIS nätgrupp (Network Information System) (@grupp)
- wildcards (*.exempel.se, klient??.exempel.se)
- IP-nätverk (192.168.0.0/255.255.0.0)
[redigera] Vilka egenskaper som ska gälla för utdelningen
Egenskaperna som anges på en exporterad katalog kan innebära att ingen kan utföra root/superuser-operationer på dem, att de exporteras med enbart läsrättigheter, etc. De vanligaste är:
- ro - (read only) exportera endast med läsrättigheter. Filerna kan inte ändras.
- rw - (read/write) exportera med läs- och skrivrättigheter.
- root_squash - innebär att root/superuser inte kan hantera den exporterade katalogen som om han/hon vore root/superuser utan snarare en vanlig användare. Anger man inget speciellt är detta standardinställningen.
- no_root_squash - upphäver root_squash och möjliggör för en root/superuser-användare att operera som root/superuser på den exporterade katalogen.
- all_squash - alla användare som kopplar upp sig får anonymous-användare-status. Bra för publikt tillgängliga NFS-exporter.
- anonuid - en siffra på en specifik användare på systemet, genom vilken alla NFS-requests ska gå.
- anongid - en siffra på en specifik grupp på systemet, genom vilken alla NFS-requests ska gå.
[redigera] Exempel
Nu har vi alla beståndsdelarna som krävs för att utforma vår /etc/exports-fil. Märk att först kommer den utdelade mappen. Därefter kommer klienten som den skall delas ut till, med rättigheterna direkt efter inom parentes.
# exempelfil för /etc/exports /utdelad_mapp 192.168.0.65(rw,no_root_squash)
[redigera] NFS-klienten
Nu skall vi göra i ordning klienten. Börja med att skapa en mapp där den utdelade mappen skall hamna.
mkdir ~/filer
Därefter redigerar vi fstab för att den utdelade mappen skall monteras på vår klient.
sudo gedit /etc/fstab
Lägg till följande rad:
192.168.1.64:/utdelad_mapp ~/filer nfs _netdev,auto,user 0 0
Starta nu om båda datorerna, så skall mappen vara utdelad.
