我有一个正在运行的 Samba 服务器,我可以使用以下命令访问不同的共享
smbclient -k //$server.$my_domain.$net/$my_share
我希望在启动时自动提供挂载。身份验证过程依赖于 kerberos。我在 /etc/fstab 文件上尝试了以下操作:
//$server.$my_domain.$net/$my_share /mnt/samba cifs sec=krb5i,rw,user 0 0
一旦通过 kerberos 服务器的身份验证,我就会执行 mount -a。命令返回 $?==0;但共享未挂载,日志文件中也没有任何内容。日志、客户端和服务器端均无任何线索。
我想我只是没有在 fstab 文件中使用适当的选项?
答案1
Kerberos 使用用户主体名称来验证自己;其形式为user@domain
或domain\user
。
由于启动时的自动挂载是以 root 身份执行的,因此您可能没有提供正确的 UPN。
你必须提供适当的 mount.cifs 选项:
cruid=参数
设置凭证缓存所有者的 uid。这主要在 sec=krb5 时有用。默认值是执行挂载的进程的真实 uid。设置此参数会指示 upcall 查找该用户拥有的凭证缓存。
另外,在客户端和/或服务器上启用 kerberos 调试日志记录,查看是否获得正确的令牌。