大家早上好,
当我使用下面的 fstab 命令时,它似乎将目录安装为 root 导致我无法编辑任何内容:
192.168.1.74:/volume1/Barry/Plex/tv2 /mnt/plex/media/tv2 nfs nofail,defaults,rw,user, 0 0
192.168.1.74:/volume2/Barry2/Plex/tv /mnt/plex/media/tv2 nfs nofail,defaults,rw,user, 0 0
dandy@thehost:/mnt/plex/media$ ls -l
drwxrwxrwx 74 1024 users 36864 Jul 8 18:49 tv
drwxrwxrwx 13 root root 36864 Jul 2 16:38 tv2
dandy@thehost:/mnt/plex/media$ sudo chown dandy:dandy tv2
chown: changing ownership of 'tv2': Operation not permitted
有人可以建议我做错了什么吗?
谢谢
- 编辑 -
我目前使用的是以下版本:
发行商 ID:Ubuntu 描述:Ubuntu 22.04.2 LTS 版本:22.04 代号:jammy
看看 NFS3,这听起来确实很有趣,但是我不确定是否需要将 UID 添加到下面建议的行中。
192.168.1.74:/volume1/Barry/Plex/tv2 *(rw,no_subtree_check,all_squash,anonid=0,anaongid=0)
我尝试运行命令:
'sudo mount 192.168.1.74:/volume1/Barry/Plex/tv /home/dandy/mnt/media/tv *(rw,no_subtree_check,all_squash,anonid=0,anaongid=0)' 但我得到 'mount: 错误使用'
感谢您提供的所有帮助,很抱歉我给您带来了麻烦。
- 编辑
不知道如何解决帖子,但马可 - 谢谢你,解决了它。
使用 NFS,服务器负责安全性。有多个级别和多个安全设置。
服务器上的某个级别正在以只读方式导出它。无法在客户端更改。
对于 NFS v3,安全性是根据用户 ID(号码)来处理的。
这意味着客户端上的用户 ID 必须与服务器上的用户 ID 相同。客户端上的 root 用户的处理方式有所不同。默认情况下,用户“0”(root)映射到服务器上的用户“nobody”。通常不允许 root 用户访问。服务器设置可以更改此行为。
在您的情况下,用户“dandy”需要在客户端和服务器上具有相同的用户ID,以便让用户“dandy”读写服务器上属于用户“dandy”的所有文件/目录。
NFS v4 有更多安全选项,可以在服务器上设置。
默认情况下它与 NFS v3 中的相同,加上一些通常不使用的“Kerberos”,因为它需要额外的专业知识和配置。
参见
man nfs
和man exports
提醒:在网络环境中,即使需要付出额外的努力,您也需要安全性。
当然,通过在服务器上进行正确的设置,您可以通过在服务器上相应的“导出”文件中添加此选项来禁用所有安全性并让每个人都读写(以您的示例为例):
NFS v3:
网络文件系统 v4
请注意,这为每个可以安装它的人提供了作为用户“root”的完全读写访问权限。
在客户端上您可以使用(根据您的示例):
或者在“/etc/fstab”中: