Cíl
Cílem je nakonfigurovat základní konfiguraci NFS klient/server na Debian 9 Stretch Linux
Verze operačního systému a softwaru
- Operační systém: – Debian 9 Stretch
Požadavky
Privilegovaný přístup k vaší instalaci Debian Linux.
Obtížnost
SNADNÉ
Konvence
- # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí
sudo
příkaz - $ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel
Nastavení serveru NFS
Instalace serveru NFS
Prvním krokem je instalace binárních souborů serveru NFS. K tomu použijte apt
příkaz k instalaci nfs-kernel-server
balíček:
# apt-get install nfs-kernel-server
Zkontrolujte, zda je server NFS spuštěn:
# systemctl status nfs-kernel-server ● nfs-server.service - NFS server and services Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled) Active: active (exited) since Mon 2017-06-05 14:20:17 AEST; 1min 8s ago Main PID: 1752 (code=exited, status=0/SUCCESS) linuxconfig systemd[1]: Starting NFS server and services... linuxconfig systemd[1]: Started NFS server and services.
Exportovat adresář NFS
Dále musíme exportovat adresář NFS. Tento adresář bude případně připojen vzdáleně, tudíž přístupný prostřednictvím hostitele klienta NFS. Pro účely tohoto tutoriálu vytvoříme a exportujeme adresář s názvem /var/nfs-export
. Nejprve vytvořte nový nfs-export
adresář:
# mkdir /var/nfs-export
Pro účely testování také vytvořte libovolný textový soubor:
# cd /var/nfs-export/ # echo LinuxConfig.org > file.txt # cat file.txt LinuxConfig.org
Až budete připraveni, použijte svůj oblíbený textový editor a vytvořte novou položku exportu NFS v /etc/exports
konfigurační soubor. Například:
/var/nfs-export *(rw,sync,no_subtree_check,no_root_squash)
Výše uvedený export vyexportuje /var/nfs-export
adresář na libovolného hostitele s libovolnou IP adresou s přístupem pro čtení i zápis. Jedná se o vysoce nezabezpečený export. Pro více příkladů exportu NFS zadejte $ man exports
.
Chcete-li použít změny v /etc/exports
konfiguračního souboru, znovu načtěte všechny exporty NFS pomocí:
# exportfs -a
Pokud chcete po restartu spustit server NFS, musíte jej povolit pomocí systemctl
příkaz systemd:
# systemctl enable nfs-kernel-server Synchronizing state of nfs-kernel-server.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable nfs-kernel-server
Klient NFS
Nyní, když je exportní adresář NFS dostupný pro vzdálené připojení. Pojďme nainstalovat klienta NFS do našeho klientského systému:
# apt-get install nfs-common
Vytvořte nový adresář, který bude použit jako bod připojení NFS pro vzdálené připojení dříve exportovaného /var/nfs-export
adresář:
# mkdir /mnt/nfs
Připojte vzdálený exportní adresář NFS:
# mount -t nfs YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/
Zkontrolujte obsah exportního adresáře NFS a otestujte přístup pro zápis vytvořením nového prázdného test
soubor:
# cat /mnt/nfs/file.txt LinuxConfig.org # touch /mnt/nfs/test # ls /mnt/nfs/ file.txt test
Chcete-li trvale připojit exportní adresář NFS do svého klienta NFS, vložte následující řádek do /etc/fstab
konfigurační soubor:
YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/ nfs
V současné době běžní uživatelé nemají přístup pro zápis do /mnt/nfs/
. Jakýkoli pokus o zápis do tohoto adresáře bude zamítnut s následující chybovou zprávou:
$ touch /mnt/nfs/file touch: cannot touch 'file': Permission denied
I když existuje několik a bezpečnější řešení tohoto problému, nejrychlejším řešením by mohlo být poskytnutí přístupu pro zápis do /mnt/nfs/
na klientském hostiteli konkrétnímu uživateli, který potřebuje přístup pro zápis nebo jej udělit všem. Příklad:
# chmod o+w /mnt/nfs/