我有一个使用 krb5p 运行的 NFS4 共享。
我从 CentOS 客户端访问它没有任何问题,所需的只是:
yum install krb5-workstation
setup krb5 (edit krb5.conf, setup keytab)
systemctl enable nfs-secure.service && systemctl start nfs-secure.service
systemctl enable nfs-client.target && systemctl start nfs-client.target
mkdir /mnt/x
Add the following to fstab:
server.example.com:/srv/share/subdir /mnt/x nfs4 defaults,sec=krb5p,noexec,nosuid,_netdev,auto 0 0
这在 CentOS 上效果很好,到目前为止我已经设置了十几个客户端主机。然而在 Ubuntu 上,我得到:
mount.nfs4: an incorrect mount option was specified
我认为 Ubuntu 错误与nfs-secure.service
但是 Ubuntu 上似乎没有与 NFS 客户端安装的等效程序有关? (我使用的是 Ubuntu 16.04.5 LTS)。
更新:
我努力了:
systemctl enable rpc-gssd.service && systemctl start rpc-gssd.service
启动成功:
# systemctl status rpc-gssd.service
● rpc-gssd.service - RPC security service for NFS client and server
Loaded: loaded (/lib/systemd/system/rpc-gssd.service; static; vendor preset: enabled)
Active: active (running) since Thu 2018-10-04 16:49:40 BST; 6min ago
Process: 51689 ExecStart=/usr/sbin/rpc.gssd $GSSDARGS (code=exited, status=0/SUCCESS)
Main PID: 51691 (rpc.gssd)
Tasks: 1
Memory: 516.0K
CPU: 13ms
CGroup: /system.slice/rpc-gssd.service
└─51691 /usr/sbin/rpc.gssd
但是 Ubuntu 在尝试挂载时就挂起了?
# mount -v -t nfs4 -o defaults,sec=krb5p,noexec,nosuid,_netdev,auto server.example.com:/srv/dir/example /mnt/example
mount.nfs4: timeout set for Thu Oct 4 16:54:40 2018
mount.nfs4: trying text-based options 'sec=krb5p,addr=10.10.10.10,clientaddr=10.10.10.9'
# NOTHING ELSE HAPPENS.....
答案1
这只是一条通用错误消息(也完全具有误导性),它指出了客户端 kerberos 配置中的问题,通常是 GSSAPI 服务未运行。尝试启动它,或者如果您有 nss-client.target,请启用/启动它。