Cron如何与Kerberos进行身份validation交互?

我有一个CentOS 6.4机器,它是用pam_ldap和pam_krb5设置的。 它被configuration为使用我们的Active Directory服务器进行身份validation。 我可以使用AD帐户SSH进入机器。

我还没有设置任何一种keytab文件。

我在CentOS机器上为AD用户设置了一个crontab,它每分钟将一些数据写入一个文件。 作业正在写入的文件夹位于NFS共享中,并且该文件夹已locking,以便只有特定AD组的成员才能访问该文件夹。 有问题的AD用户是该组的成员,在CentOS机器上没有本地帐户。

当AD用户未login时,cron如何继续以AD用户身份运行作业?

如果你正在使用Kerberos启用的NFSv4(如果你的话我会非常惊讶),那么你需要创build一些用户密钥表,并在cron作业开始时使用类似kstart的方法来获得Kerberos tgt。 否则,你不应该需要任何kerberos证书来访问NFS文件系统。

这个问题在AFS环境中一直存在,并且有一些标准的解决scheme。 一般来说,你可以创build一个替代主体来放置keytab,并将两个主体映射到同一个unix uid。 (即,我在cron系统上为fred / [email protected]创build了一个keytab),并使用适当的工具将kerberos主体映射到[email protected]中的相同unix uid。

作业正在写入的文件夹位于NFS共享上

NFSv3的? 没有validation发生。 NFSv3以客户的话说,用户就是他们所说的那个人。 这也是完全不安全的 – 如果我有root权限访问一个盒子,我可以访问用户的NFS共享文件,即使共享是root_squash。

Cron实际上并没有像DOMAIN \ user那样运行这个工作,而是像所有NFSv3关心的UID那样运行它。

现在,如果您正在安装CIFS / NFSv4共享,则应该失败。