我在公司环境中有一个工作设置,我们使用 RHEL7 和 SSSD 来针对 Active Directory 进行身份验证。常规身份验证效果很好。
我设法让 NFSv4 服务器与使用相同域以及 Kerberos 和 SSSD 的 NFSv4 客户端协同工作,但仅以交互方式(即:SSSD 在登录时自动创建票证或手动使用 kinit)。
这些 NFS 共享的目的是存储一些需要从应用用户(即 httpd 或 tomcat)访问的内容。
对于这种部署,以非交互式方式让用户能够访问的最佳方法是什么?
答案1
我通常采用以下方法:
- 为需要访问的服务创建用户帐户
- 使用 kadmin 为该服务创建一个密钥表。
- 使用诸如 k5start 之类的流程来确保 keytab 以适当的间隔刷新。
为了便于管理,我经常将此 SystemD 单元文件(或其变体)用于 k5start。将其配置为由 systemd 管理的用户服务。
[Unit]
Description=Service User Kerberos Auth (Keytab)
After=dbus.service
After=network.target
After=NetworkManager.service
[Service]
Environment="KEYTAB=${HOME}/krb5.keytab"
Environment="INTERVAL=120"
Type=simple
ExecStart=/usr/bin/k5start -f ${KEYTAB} -K ${INTERVAL} -L -u ${USER}