通过 /etc/fstab 自动挂载由 kerberos 验证的 samba 共享

通过 /etc/fstab 自动挂载由 kerberos 验证的 samba 共享

我有一个正在运行的 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@domaindomain\user

由于启动时的自动挂载是以 root 身份执行的,因此您可能没有提供正确的 UPN。

你必须提供适当的 mount.cifs 选项

cruid=参数
设置凭证缓存所有者的 uid。这主要在 sec=krb5 时有用。默认值是执行挂载的进程的真实 uid。设置此参数会指示 upcall 查找该用户拥有的凭证缓存。

另外,在客户端和/或服务器上启用 kerberos 调试日志记录,查看是否获得正确的令牌。

相关内容