NFS服务器设置

NFS服务器安装

使用apt命令安装nfs-kernel-server包:

# apt-get install nfs-kernel-server

确认NFS服务器已启动并运行:

# 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 2015-06-05 14:20:17 AEST; 1min 8s ago
 Main PID: 1752 (code=exited, status=0/SUCCESS)
onitroad systemd[1]: Starting NFS server and services...
onitroad systemd[1]: Started NFS server and services.

导出NFS目录

接下来,我们需要导出NFS目录。
此目录将可以远程挂载,因此可通过NFS客户端主机访问。

这里,我们创建和导出名为/var/nfs-export的目录。

# mkdir /var/nfs-export

为了测试,再创建一些文件

# cd /var/nfs-export/
# echo onitroad.com > file.txt
# cat file.txt 
onitroad.com

在配置文件/etc/exports中,创建新的NFS导出条目:

/var/nfs-export *(rw,sync,no_subtree_check,no_root_squash)

注意,这是一个不太安全的设置,因为所有的IP地址都可以读写/var/nfs-export目录。

重新加载所有NFS导出:

# exportfs -a

如果我们希望在重新启动后启动NFS服务器,则需要使用“systemctl 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

NFS客户端

服务端NFS导出目录已经可用于远程挂载。

现在在客户端系统上安装NFS客户端:

# apt-get install nfs-common

创建一个新目录,该目录将用作NFS挂载点,以远程安装在服务器端导出的/var/nfs-exports目录:

# mkdir /mnt/nfs

挂载远程NFS导出目录:

# mount -t nfs YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/

查看NFS导出目录的内容。
并创建一个文件来测试写入权限:

# cat /mnt/nfs/file.txt 
onitroad.com
# touch /mnt/nfs/test
# ls /mnt/nfs/
file.txt  test

要在NFS客户端永久挂载的NFS导出目录,将以下行添加到/etc/fstab配置文件中:

YOUR-NFS-SERVER-IP:/var/nfs-export /mnt/nfs/  nfs

目前常规用户没有对/mnt/nfs/的写访问权限。

尝试对该目录进行写操作,将会被拒绝:

$touch /mnt/nfs/file
touch: cannot touch 'file': Permission denied

这个问题有很多解决方案,最简单快速的是,授予需要访问/mnt/nfs/的用户写入权限。
例子:

# chmod o+w /mnt/nfs/
如何在Debian Linux上安装配置NFS
日期:2020-07-07 20:56:12 来源:oir作者:oir