为什么 cron 无法使用 Kerberos 身份验证访问 CIFS 共享?

为什么 cron 无法使用 Kerberos 身份验证访问 CIFS 共享?

我在 CentOS 6.4 上。使用 kstart,我使用 Active Directory 中的计算机帐户(即 computername$)保持 TGT 处于活动状态。票证缓存分配给 root,位于 /tmp/krb5cc_0。我使用 sec=krb5 以 root 身份 mount.cifs。这有效,我可以浏览共享。

问题是,虽然用户可以通过 ssh 浏览共享文件,但在 cron 下运行的 rsync 在挂载后无法访问它。Subversion Edge 备份功能也无法访问它。Rsync 收到错误:

rsync: ERROR: cannot stat destination "/mnt/dfs/backups/redmine/": Key has been revoked (128)

并且 csvn 的备份出现相同的 128 错误:

CIFS VFS: Send error in SessSetup = -128
CIFS VFS: cifs_mount failed w/return code = -128

有时

CIFS VFS: Send error in SessSetup = -122
CIFS VFS: cifs_mount failed w/return code = -122

我认为这意味着没有配额。

我尝试过禁用 SELinux,所以这不是问题所在。如何让这些“后台任务”能够使用 Kerberos CIFS 共享?

答案1

Cron 没有使用票证缓存,要么是因为它不知道(KRB5CCNAME未设置或传递给作业),要么是因为它无法读取缓存(缓存上的权限阻止正在运行作业的用户读取它)。

相关内容