我正在尝试通过 nfs 在一些客户端上挂载主目录。挂载成功,但我无法cd /srv/nfs4
:Permission denied
。root
可以进入这些挂载目录并读取其中的文件。以 root 身份检查,文件显示正确的用户名、组、uid 和 gid。
以普通用户身份检查:
testuser@nastest:/srv$ ls -l
ls: cannot access 'nfs4': Permission denied
total 0
d????????? ? ? ? ? ? nfs4
testuser@nastest:/srv$ cd nfs4
-bash: cd: nfs4: Permission denied
我的设置
两台新的虚拟机(proxmox 上的 kms)安装了 Ubuntu 16.04:nas.domain.tld
和nastest.domain.tld
,注册到免费IPA域上auth.domain.tld
,因此用户名和 uid 是集中管理的。
我的/etc/exports
:
srv/nfs4 gss/krb5i(rw,fsid=root,crossmnt,no_subtree_check)
/srv/nfs4/homes gss/krb5i(rw,no_subtree_check)
/srv/nfs4
只是一个目录(root
: root
, 755
),/srv/nfs4/homes
被绑定到/home
由免费IPA存在基于用户(755
)。
在客户端上/etc/fstab
:
nas.domain.tld:/ /srv/nfs4/ nfs4 sec=krb5i 0 0
RDNS 有效,我已经为 中的两个主机明确设置了相同的域/etc/idmapd.conf
。
我怎样才能让普通用户使用它?
答案1
我已经提交了针对 freeipa-client 软件包的错误报告。
问题在于,gssd
Ubuntu 16.04 似乎不支持内核密钥环支持的 Kerberos 凭据缓存。但是,脚本以依赖这些缓存的方式ipa-client-install
创建。/etc/krb5.conf
删除该行default_ccache_name = KEYRING:persistent:%{uid}
就解决了这个问题。