在 CLI 中以非 root 用户身份挂载 NFS 共享

在 CLI 中以非 root 用户身份挂载 NFS 共享

我的/etc/exports

/root/backup       192.168.30.26(rw,sync,insecure,all_squash,no_subtree_check)

当我以非 root 用户身份安装时,

mount -o v3 192.168.30.26:/root/backup /usr/backup/

我有mount: only root can do that

注意:我在 fstab 中看到了选项user。有没有没有它的选项?

答案1

用户可以通过以下方式修改系统的挂载表

  • 使用sudosu

或者经过

  • user,noauto在 /etc/fstab 中有一个带有选项的条目

样本:

  • 服务器端

    如果服务器主机有 IP 地址192.168.30.11,你有/etc/exports

    /srv/share 192.168.30.26(rw,sync,insecure,all_squash,no_subtree_check)
    
  • 客户端

    在客户端主机上,使用 IP 地址192.168.30.26你必须添加/etc/fstab类似这样的内容:

    192.168.30.11:/srv/share   /usr/backup    nfs    rw,relatime,user,noauto   0   0
    

然后,用户在 192.168.30.26 上必须能够通过运行以下命令挂载共享:

mount /usr/backup

没有sudo

  • noauto防止系统在启动时挂载共享。
  • user告诉系统授权(本地)用户挂载共享。

答案2

改编自如何以普通用户身份挂载 NFS 共享 - Dan Nanni 撰写

为了允许普通用户挂载 NFS 共享,您可以执行以下操作。

在 NFS 客户端主机(例如 10.1.1.20)上,以 root 身份更新 /etc/fstab。

$ sudo vi /etc/fstab

192.168.30.26:/root/backup /usr/backup nfs rw,noauto,user 0 0
                                                     ^^^^

在上文中,“用户”允许非root用户挂载,“noauto”表示启动时不自动挂载。

在 NFS 服务器主机(例如 10.1.1.10)上,以 root 身份为客户端启用导出。

如果您想要非永久地启用导出(重启后不会持久):

 $ sudo exportfs 192.168.30.26:/export -o rw,async,no_root_squash,no_subtree_check

如果您想要永久启用导出功能(重启后仍然有效):

 $ sudo vi /etc/exports

 /export 192.168.30.26(rw,async,no_root_squash,no_subtree_check)

 $ sudo exportfs -a

现在您可以在 NFS 客户端主机上以“用户”身份登录,并按如下方式执行 NFS 挂载。

 $ mount /usr/backup

答案3

这就是为什么人们发明自动挂载程序. 在基于 RPM 的系统上:

以 root 身份

$ yum install autofs
$ systemctl enable --now autofs

作为普通用户

$ cd /net/<hostname>

在哪里主机名是服务器的名称。

注意:无需显式挂载。只要用户更改到该目录,autofs 守护进程就会透明地挂载。

答案4

这是一个旧帖子,但是您检查过 /usr/backup/ 的权限吗?

最有可能的是,您的非 root 用户没有 /usr/backup 文件夹的权限。

它们很可能与以下内容类似:

drwxr-xr-x  3 root root  4096 Aug 15 21:51 backup

尝试将包含您的用户的组添加到该文件夹​​的权限中。

相关内容