Pokud jste mírně zručný uživatel Linuxu nebo začátečník se serverem, hlavním způsobem, jak přistupovat k souborům, je Samba. Mnozí to dělají kvůli tomu, jak obtížné se NFS zdá být. Je tu tolik kroků a maličkostí, které musíte udělat správně ve srovnání s něčím, jako je Samba nebo dokonce FTP. Skutečnost, že mnoho uživatelů Linuxu přechází přes NFS, je opravdu škoda, protože má spoustu skvělých funkcí a využití. Proto jsme se rozhodli odstranit potíže s nastavením serveru NFS. Rozebereme, jak můžete hostovat sdílené složky NFS na Linuxu, a podrobně vysvětlíme, jak můžete uvést server do provozu.
Table of Contents
Instalace
Obecně platí, že každá distribuce Linuxu má stejné nástroje NFS s několika rozdíly tu a tam. Aby vše fungovalo, otevřete terminál a nainstalujte do svého systému následující balíčky. Tyto balíčky nainstalují výchozí technologii potřebnou ke spuštění serveru, vygenerují výchozí konfigurační soubory a někdy dokonce nakonfigurují další věci.
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í Linuxy
Systém souborů NFS, klient a server nejsou novou technologií. Výsledkem je, že to snadno zprovozníte v podstatě na jakékoli distribuci Linuxu. Pokud váš operační systém nebyl pokryt, zvažte hledání „nfs utils“ ve správci balíčků nebo se podívejte na Wiki vašeho operačního systému.
Systemd služby
Nastavení serveru NFS se může lišit v závislosti na distribuci Linuxu, kterou používáte. Pokud například nainstalujete balíček Ubuntu nebo Debian NFS, služby systemd se automaticky nastaví a nakonfigurují za vás. Nicméně na něčem, jako je Arch Linux, SUSE nebo Fedora atd., to budete muset udělat ručně. Zde je návod, jak tyto služby povolit.
Pokud používáte Arch Linux, Open SUSE nebo Fedora (nebo jakoukoli distribuci Linuxu, která automaticky nenastavuje služby systemd pro NFS), otevřete terminál a zadejte tyto příkazy.
sudo systemctl enable rpcbind
sudo systemctl enable nfs-server sudo service rpcbind start sudo service nfs-server start
Konfigurace
Instalací balíčků NFS je server „nastavený“, ale to neznamená, že k němu uživatelé ještě mají přístup. K tomu musí uživatelé nastavit exporty, umístění souborů atd. Chcete-li začít, získejte root shell v terminálu. Udělejte to pomocí: sudo -s
Exportní soubor může pracovat s libovolným typem adresáře. Ve skutečnosti mohou uživatelé snadno zapsat přímé umístění do složky, kterou chtějí sdílet přímo v systému souborů. Problém je v tom, že je to obrovské bezpečnostní riziko. Je mnohem bezpečnější vzít obsah jednoho adresáře a svázat jej s jiným. To zajišťuje, že oprávnění pro složky a adresáře ve složce /srv/ není třeba upravovat, aby bylo vše bezpečné.
Chcete-li například nastavit sdílení NFS složky Obrázky uživatele, postupujte takto:
mkdir -p /srv/nfs/pictures /home/username/Pictures/ mount --bind /home/username/Pictures/ /srv/nfs/pictures/
Pomocí výše uvedeného příkladu vytvořte tolik připojení, kolik chcete. Mějte na paměti, že není nutné připojovat adresáře z domovských složek. Místo toho použijte tento příklad a buďte kreativní.
Až bude vše vyřešeno, spusťte tyto příkazy, aby se držáky přilepily:
echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab
Poznámka: budete muset změnit příkazy echo tak, aby vyhovovaly vašim vlastním mountům.
Po nastavení připojení je čas nakonfigurovat konfigurační soubor exportů. Soubor exportů je velmi důležitý, protože zde budete muset určit každou sdílenou složku, kterou má NFS používat.
nano /etc/exports
Uvnitř exportovaného souboru přejděte úplně na konec a napište následující:
/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
Klidně si napište tolik řádků, kolik chcete. Mějte na paměti, že každá sdílená položka potřebuje své vlastní připojení, položku fstab a položku /etc/exports.
Poznámka: uložte soubor exportu pomocí CTRL + O
Aktualizace změn
NFS server je v provozu, soubory jsou na správném místě a vše je připraveno k použití. Zbývá pouze aktualizovat změny provedené v souboru exportů. Toto je důležitý krok, protože NFS server nebude aktualizovat změny provedené, když je spuštěn. Proveďte změny pomocí: exportfs -rav
V případě potřeby restartujte proces serveru v rámci samotného systemd pomocí příkazu systemctl restart.
sudo systemctl restart nfs-server.
Závěr
Síťový souborový systém je užitečný nástroj. S ním mohou uživatelé snadno vzít vzdálené soubory a adresáře a pracovat s nimi lokálně stejně jako s fyzickým pevným diskem. To je skvělé, protože konkurenční nástroje síťového souborového systému nedávají uživatelům stejnou všudypřítomnost a svobodu.
Navzdory své užitečnosti většina lidí raději používá Sambu. Je to pochopitelné, protože ve srovnání se Sambou může být NFS trochu otravné a zdlouhavé nastavování. Pokud se však vypořádáte s náročným procesem nastavení, vyplatí se to mnohem víc.