我的 Linux 服务器上有一个目录:
/src/nfs/blah
我分享这个是为了可以安装在我的 OSX 电脑里。
/mnt/nfs/blah
该/etc/exports
文件如下所示:
/srv/nfs/blah 192.168.0.16(rw,no_root_squash,sync,no_subtree_check,insecure,crossmnt)
问题是我在权限方面遇到了困难,每次我在服务器端编辑内容时,我都会获得一组组和用户权限。然后,当我在 OSX 计算机上编辑文件时,我在 vim 中收到权限警告,当我强制执行时,我会保存数据,但这会引入一组新的组和权限等。
例如,在 Linux 端,我得到:
drwxrwxrwx 2 someuser someshare 4096 Jun 22 21:40 test.txt
在 Mac 端编辑后,我得到了
-rw-rw-r-- 1 501 dialout 166 Jun 22 21:40 test.txt
我可以看到存在冲突,我甚至尝试在双方创建相同的用户,但没有成功。
答案1
文件所有权以数字形式存储,而不是按名称存储,如UID
和GID
。
UID
和值通过每个系统的、GID
从数字转换为名称。/etc/passwd
/etc/group
在您的示例中,该文件归test.txt
和someuser
(UID
所有GID
。getent passwd someuser | awk --field-separator ':' '{print $3,":",$4}'
在 Mac 方面,它们相当于UID
和GID
映射到名称,在使用相同的UID
和GID
数字作为输入的情况下会产生不同的结果。
您可以使用 LDAP 同步帐户,但这似乎过于复杂。