Jak hostovat sdílené položky NFS v systému Linux

Photo of author

By etechblogcz

Pro uživatele Linuxu, kteří mají alespoň základní znalosti, nebo pro začátečníky se serverem, je Samba často preferovaným řešením pro přístup k souborům. Důvodem je především vnímaná složitost konfigurace NFS (Network File System). NFS se může zdát komplikovanější kvůli množství kroků a detailů, které je nutné správně nastavit, což je v kontrastu s jednoduchostí Samby nebo dokonce FTP. Nicméně, odklon od NFS je škoda, protože tento systém nabízí mnoho užitečných funkcí a možností využití. Proto se zaměříme na odstranění obtíží spojených s nastavením NFS serveru. Ukážeme si, jak hostovat sdílené složky NFS na Linuxu, a krok za krokem vysvětlíme, jak server zprovoznit.

Instalace potřebných balíčků

Instalace nástrojů NFS je zpravidla podobná napříč různými distribucemi Linuxu, i když se drobné odchylky mohou vyskytnout. Pro zajištění správné funkčnosti otevřete terminál a nainstalujte do systému následující balíčky. Tyto balíčky zajistí základní technologie potřebné pro spuštění serveru, vygenerují výchozí konfigurační soubory a v některých případech provedou další nastavení.

Specifické distribuce

Níže naleznete příkazy pro instalaci pro několik populárních distribucí Linuxu:

Ubuntu
sudo apt install nfs-kernel-server
Fedora
sudo dnf install nfs-utils system-config-nfs
Arch Linux
sudo pacman -S nfs-utils
Debian
sudo apt-get install nfs-kernel-server
OpenSUSE
sudo zypper install nfs-kernel-server

Ostatní distribuce Linuxu

NFS klient a server nejsou novou technologií, takže by měly být snadno dostupné a použitelné prakticky v jakékoli distribuci Linuxu. Pokud zde nebyl váš operační systém uveden, hledejte „nfs utils“ ve správci balíčků vaší distribuce nebo si prostudujte wiki vašeho OS.

Systemd služby

Konfigurace NFS serveru se může lišit v závislosti na použité distribuci Linuxu. Například, pokud instalujete balíčky NFS v Ubuntu nebo Debianu, služby systemd se automaticky nastaví a nakonfigurují. V distribucích jako Arch Linux, SUSE nebo Fedora je nutné tyto služby povolit ručně. Níže najdete postup, jak tyto služby povolit:

Pro systémy, které automaticky nenastaví služby systemd pro NFS (například Arch Linux, Open SUSE nebo Fedora), otevřete terminál a zadejte následující příkazy:

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo service rpcbind start
sudo service nfs-server start

Konfigurace NFS sdílení

Po instalaci balíčků NFS je server „nastaven“, ale to neznamená, že je ihned přístupný pro uživatele. Je třeba definovat exporty, tedy umístění sdílených složek a další nastavení. Pro začátek, získejte root shell v terminálu pomocí příkazu: sudo -s.

Exportní soubor může pracovat s jakýmkoli typem adresáře. Uživatelé by sice mohli přímo zapisovat umístění sdílených složek v systému souborů, ale to představuje značné bezpečnostní riziko. Bezpečnější je svázat obsah sdílené složky s jiným adresářem, například v /srv/. Tím se zajistí, že není nutné měnit oprávnění pro složky a adresáře v /srv/ pro zajištění bezpečnosti.

Jako příklad, pro sdílení složky Obrázky uživatele postupujte následovně:

mkdir -p /srv/nfs/pictures /home/username/Pictures/
mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Použijte tento postup pro vytvoření libovolného počtu připojení. Není nutné omezovat se pouze na adresáře v domovských složkách, použijte tento příklad jako inspiraci pro kreativní řešení.

Pro trvalé uložení těchto připojení do fstab spusťte následující příkazy:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Poznámka: Příkazy echo je potřeba upravit, aby odpovídaly vašim konkrétním připojením.

Po nastavení připojení je nutné nakonfigurovat soubor /etc/exports. Tento soubor je klíčový, protože určuje, které složky jsou sdíleny přes NFS.

nano /etc/exports

Na konec souboru přidejte následující řádek (nebo další řádky, pokud chcete sdílet více složek):

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Nezapomeňte, že každá sdílená složka vyžaduje vlastní připojení, položku v /etc/fstab a v /etc/exports.

Poznámka: Uložte soubor exportu pomocí CTRL + O.

Aktualizace změn

NFS server je spuštěn, soubory jsou na správném místě a vše je připraveno k použití. Posledním krokem je aktualizovat změny provedené v souboru /etc/exports. Server automaticky neaplikuje změny po spuštění. Pro aktualizaci použijte příkaz:

exportfs -rav

V případě potřeby můžete restartovat server pomocí příkazu systemctl:

sudo systemctl restart nfs-server

Závěr

Síťový souborový systém je užitečný nástroj. Umožňuje uživatelům pracovat se vzdálenými soubory a adresáři, jako by byly lokálně na pevném disku. To je výhodné oproti jiným systémům, které nedávají uživatelům stejnou flexibilitu.

Přes všechny výhody, většina uživatelů dává přednost Sambě. Důvodem může být vnímaná složitost nastavení NFS. Avšak pokud překonáte počáteční obtíže s nastavením, zjistíte, že NFS vám nabídne víc.

Další informace o síťových sdíleních a NFS naleznete na Wikipedii.