我不知道为什么 getent 没有显示我最近添加的 LDAP 用户。
ldif 文件:
dn: uid=user1,ou=People,dc=example,dc=com uid: user1 cn: user1 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {SSHA}8t8W2kC48FN0QvwQk8JMRP/OQPI75sjP shadowLastChange: 16444 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 1005 gidNumber: 1005 homeDirectory: /var/www/html
ldap添加:
ldapadd -x -W -D 'cn=Manager,dc=example,dc=com' -h 127.0.0.1 -f user1.ldif
ldapsearch 工作并显示 user1
getent passwd
不要显示我的新用户。
有人知道问题是什么吗?我确信问题并不复杂,但我找不到解决方案。
答案1
按照@sven 的指导(非常感谢!)我解决了我的问题并发布了答案,因为它可以帮助某些人。
首先,我检查了 id getent passwd
显示的是否是 LDAP 用户或仅显示本地用户。在我的例子中,它仅显示本地用户。
如果您没有,请进行第二次安装authconfig
:yum -y install authconfig
写入以下命令来启用它:
authconfig --passalgo=sha256 --enablelocauthorize \
--enablemkhomedir --enableldap --enableldapauth \
--ldapserver=ldap://127.0.0.1 --ldapbasedn=dc=example,dc=com \
--enableshadow --update
就我的情况来说,控制台写入:
getsebool: SELinux is disabled
然后像这样配置开机启动:
chkconfig nslcd on
启动服务:
service nslcd start
或者systemctl start nslcd.service
尝试 getent:
getent passwd user1
控制台写入LDAP用户:
user1:*:1005:1005:user1:/var/www/html:/bin/bash
我希望一切顺利。