我想使用 LDAP 身份验证进行 CentOS 7 安装,因此我安装了authconfig-gtk
、sssd
和krb5-workstation
。
当我尝试启动该服务时,我收到一条消息告诉我there is no config file under /etc/sssd/
。
我通过 Google 做了一些研究,发现的一个解决方案是将文件从 复制/usr/share/doc/sssd-common-1.14.0/sssd.conf
到/etc/sssd/
。
然后我在日志文件中发现该服务由于缺少读取权限而无法启动。所以我将权限更改为770
.服务仍然无法启动。
寻找有关此问题的任何帮助或如何sssd
使用配置文件进行安装yum
。
答案1
尝试
chmod 600 /etc/sssd/sssd.conf (path to sssd.conf)
然后重新启动 sssd 服务 ( service sssd restart
)
sssd.conf 应由仅具有 0600 权限的 root 用户运行。 IE
您的 sssd.conf 文件应如下所示
root@proxy:/# ls -l /etc/sssd/sssd.conf
-rw------- 1 root root 292 Mar 28 12:59 /etc/sssd/sssd.conf
没有770许可
root@proxy:/# ls -l /etc/sssd/sssd.conf
-rwxrwx--- 1 root root 292 Mar 28 12:59 /etc/sssd/sssd.con
/var/log/syslog
当 sssd.conf 没有 600 权限时,我的 ubuntu 中出现错误。
Apr 1 14:24:27 proxy sssd: Cannot read config file /etc/sssd/sssd.conf. Please check if permissions are 0600 and the file is owned by root.root
答案2
/etc/sssd/sssd.conf 文件是通过 authconfig 或 authconfig-gtk 生成当您启用用户信息源和身份验证源时。
生成 sssd.conf
生成 sssd.conf 文件:
认证配置
LDAP 用户信息和 LDAP 身份验证:
authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn=dc=example,dc=com --enableldapstarttls --enablemkhomedir --update
LDAP 用户信息和 kerberos 身份验证:
authconfig --enableldap --enablekrb5 --ldapserver=ldap.example.com --ldapbasedn=dc=example,dc=com --enableldapstarttls --enablemkhomedir --krb5realm=EXAMPLE.COM --krb5kdc=ldap.example.com - -krb5adminserver=ldap.example.com --update
Authconfig-gtk (GUI)
- 应用 > 杂项 > 身份验证
- 身份和验证选项卡
- 用户帐户数据库:LDAP(或 FreeIPA)
- LDAP 搜索基础 DN:dc=example,dc=com
- LDAP 服务器:ldap.example.com
- 身份验证方法:LDAP 密码(或 Kerberos 密码)
- 如果是 Kerberos 密码,则填写:
- 领域:EXAMPLE.COM(是的,全部大写)
- KDC:ldap.example.com
- 管理服务器:ldap.example.com
更多细节
sssd的使用条件(来源:man authconfig):
“当满足以下三个条件中的至少两个时,SSSD 服务将由 authconfig 启用并可能启动:
- /etc/sssd/sssd.conf 文件存在(或通过隐式 SSSD 支持进行配置)
- 启用 SSSD 身份验证(PAM 配置中使用 pam_sss.so)
- 为用户身份启用了 SSSD(nsswitch.conf 包含 sss)”
SSSD 将在安装后使用,并且通过这些命令满足上述要求。
此配置选项触发 /etc/nsswitch.conf 更新:
- 启用LDAP
这些配置选项触发 PAM 配置更新 (/etc/pam.d/system-auth):
- 启用ldapauth
- 启用krb5