我的/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
用户可以通过以下方式修改系统的挂载表
- 使用
sudo
或su
或者经过
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
尝试将包含您的用户的组添加到该文件夹的权限中。