通过 Samba,我已将 CentOS 工作站加入到 Active Directory 域。我可以在 CentOS 工作站上以 Active Directory 用户身份登录。到目前为止一切顺利。
但是,我想要做的是作为特定的非 root 用户在 CentOS 工作站上运行一个进程,并让该用户向 Active Directory 进行身份验证以访问共享中的文件。
假设守护进程通过 init 脚本或 systemd 启动。该守护进程由用户“joe”拥有,将以以下身份向 Active Directory 进行身份验证:[电子邮件保护]. 然后,该过程将连接到 Windows 共享来复制文件。
通过 Google 搜索如何做这样的事情很有挑战性,因为大多数参考资料都谈论如何在 Linux 工作站上对 Active Directory 用户进行身份验证。
我怀疑其中肯定涉及一些 Kerberos“魔法”,但我还没有任何成果。
答案1
与 Windows 相比,这里的魔法要少得多——您拥有的 Kerberos 票证实际上与您的系统帐户完全无关。
这意味着您只需运行,输入您的 AD 凭据,然后就和其他支持 Kerberos 的程序而言“登录”即可。kinit [email protected]
smbclient
(对于非交互式操作,您可以使用启动以正确地实现这一自动化。)