AutoFS 用于使用 Kerberos Ticket 进行 Samba 共享共享

AutoFS 用于使用 Kerberos Ticket 进行 Samba 共享共享

我已经在 Debian Stretch 上设置了 Samba AD。另一个延伸客户端节点能够使用 AD 凭据进行身份验证。

域用户在客户端节点上的权限有限,这意味着他无法在客户端上安装任何内容。

在客户端,我测试了两件事:

  1. 使用密码安装:

    # mount -t cifs \\\\fileserver.my.org\\share /mnt -o user=domainUser1

    然后我被要求输入 的域密码domainUser1。然后,共享被挂载root

  2. 使用 Kerberos 票证安装:

    # kinit domainUser1

    # mount -t cifs \\\\fileserver.my.org\\share /mnt -o sec=krb5

    klist这样,如果我当前的会话有 kerberos 票证(由 验证),我就可以挂载共享。

手动安装一切正常。当我尝试使用 AutoFS 挂载共享时,问题就出现了。

/etc/auto.master内容如下:

+目录:/etc/auto.master.d

+自动大师

/cifs /etc/auto.cifs

/etc/auto.cifs写道:

分享 -fstype=cifs,multiuser,cruid=${UID},sec=krb5 ://fileserver.my.org/share

根据我在过去一个小时对 AutoFS 的了解,这应该可行。但由于某种原因,/cifs/文件夹总是空的。我尝试了/var/log/messages/var/log/syslog,但在日志中没有发现任何值得注意的地方。

答案1

调试 AutoFS

要调试 autofs,请停止该服务并在命令行上运行它:

sudo service autofs stop
sudo automount -f -d

或者打开调试日志记录

编辑 /etc/autofs.conf 并将日志记录设置为“debug”或“verbose”:

logging = "debug"

玩这个..但实际上我有足够的细节将其保留为默认值(即注释掉该行)

检查 Kerberos 票证文件名是否正确

这就是让我们头疼的事情。多年来,AutoFS 无法在 Kubuntu 18.04 中运行,直到我们更正生成的 Kerberos 密钥文件的文件名。如果您查看 daemon.log,请检查它正在搜索的文件是否与 /tmp/krb* 中看到的文件同名。

这是 daemon.log 中的样子,您可以看到压缩的文件名是什么:

May 14 17:08:29 computer123 cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_12345678

我很确定上面的内容是使用默认日志选项,即在 /etc/autofs.conf 中注释掉的日志行。事实上,所谓的详细选项之一并没有显示出来..(?!)

解决方案 - 我们必须编辑 /etc/sssd/sssd.conf 并在 [domain/yourAD_ServerName] 下添加以下内容

krb5_ccname_template=FILE:%d/krb5cc_%U

这告诉 sssd 使用 AutoFS 所需的文件名制作 kerboros 票证。我必须在更改生效之前重新启动(是的,我尝试重新启动 sssd-secrets、sssd、autofs)。

相关内容