Centos中配置Openldap的详细过程

Centos中配置Openldap的详细过程

原理

OpenLDAP 是一款轻量级目录访问协议。账号是登录系统的唯一入口,要登录系统,首先系统要存在登录所使用的账号(/etc/passwd)及密码信息(/etc/shadow)。对于账号管理人员而言如果机器数量达到1000 以上时,对于账号的创建、回收、权限的分配、密码策略、账号安全审计等一系列操作,账号管理人员就心有余而力不足了。此时OpenLDAP 账号集中管理软件就应用而生,它可以实现账号集中维护、管理,只需要将被管理的机器加入到服务器端即可,此后所有与账号相关的策略均在服务端实现,从而解决了运维案例所产生的众多管理问题。

网络环境准备

名称IP地址主机名
Openldap服务器13.10.29.3node29.3
Openldap客户端13.10.29.2node292

网络环境准备

安装前准备*

1、停止firewall

 systemctl stop firewalld

2、禁止firewall开机启动

systemctl disable firewalld.service 

2、修改selinux

vi /etc/selinux/config

将SELINUX=enforcing改为:SELINUX=disabled ,并执行setenforce 0使他立即生效,当然你也可以重启机器

配置Openldap服务器

1、安装软件包

 yum install -y openldap openldap-clients openldap-servers migrationtools 

2、设置Openldap管理密码

 slappasswd
 New password: 111111
 Re-enter new password: 111111
 {SSHA}dmVe9cQJu/8xyHKI0dMjUxft+nz6rPA4

3、修改根DN与添加密码

vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif 

修改内容: olcSuffix: dc=domain,dc=com
olcRootDN: cn=root,dc=domain,dc=com
添加内容: olcRootPW: {SSHA}dmVe9cQJu/8xyHKI0dMjUxft+nz6rPA4
这边添加的密码,就是上一步生成的密码

4、修改验证

 vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif 

olcAccess: {0}to * by dn.base=“gidNumber=0+uidNumber=0,cn=peercred,cn=extern al,cn=auth” read by dn.base=“cn=root,dc=domain,dc=com” read by * none

5、配置DB数据库

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
chown ldap:ldap -R /var/lib/ldap 
chmod 700 -R /var/lib/ldap

6、验证 slaptest -u 看见:config file testing succeeded #看到succeeded说明验证成功
这边我就是报了两个error,如图。纠结了很久,其实可以不用管的~
在这里插入图片描述
7、给启动文件相应的权限

chown ldap:ldap -R /var/run/openldap
chown -R ldap:ldap /etc/openldap/ 

8、启动服务并设置开机自启动

 systemctl start slapd&systemctl enable slapd

9、检查服务是否启动成功,如果输出如图说明启动成功了

在这里插入图片描述
10、导入一个ldif的基础模板,先准备在域中导入一个People和Group的部门

dn: ou=People,dc=domain,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=domain,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

11、导入数据库

 ldapadd -x -D "cn=root,dc=domain,dc=com" -W -f base.ldif  

此时很有可能报错,我遇到了报错49,这个应该是密码输错了
还有遇到了报错21,那么需要导入基本Schema,使用如下命令:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine
ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis
ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

12、验证导入是否成功

 ldapsearch -x -b 'dc=domain,dc=com' '(objectClass=*)'

如果有输出导入的ou信息,则说明成功啦
13、下面可以开始导入用户和用户组了,首先先创建用户和用户组

groupadd ldapgroup
useradd -g ldapgroup1 ldapuser

14、此时可以用cat /etc/passwd和cat /etc/group查看下创建的用户和用户组,并且提取出来。我发现我创建的用户id和用户组id刚好都是1001,那么我就把他们提取到了一个文件中。

egrep ":1[0-9][0-9][0-9]" /etc/passwd>/home/users
egrep ":1[0-9][0-9][0-9]*" /etc/group > /home/groups

15、上述生成的用户和用户组属性,使用migrate_passwd.pl文件生成要添加用户和用户组的ldif

/usr/share/migrationtools/migrate_passwd.pl /home/users > /home/users.ldif
/usr/share/migrationtools/migrate_group.pl /home/groups > /home/groups.ldif

如果直接执行上面两条命令生成,其实并不对哦,你可以查看下ldif文件的内容,可以看到里面写了dc=padl,dc=com。并不是我们上面设置的dc=domain,dc=com,此时需要修改模板。

vi /usr/share/migrationtools/migrate_common.ph

如图,用户会默认生成在People部门中,用户组会默认生成在Group组中,如果需要生成到其他部门中,前提是这个部门已经存在。可以通过步骤10~11来生成新的部门

在这里插入图片描述16、导入到ldap

ldapadd -x -W -D "cn=root,dc=domain,dc=com" -f /home/users.ldif
ldapadd -x -W -D "cn=root,dc=domain,dc=com" -f /home/groups.ldif

如果导入已经存在,加-c参数

ldapadd -x -c -W -D"cn=root,dc=domain,dc=com" -f /home/users.ldif

配置openldap的客户端

1、安装包

yum install -y openldap-clients nss-pam-ldapd

2、配置

authconfig --enableldap --enableldapauth --ldapserver=13.10.47.6 --ldapbasedn="dc=domain,dc=com" --enablemkhomedir --update

也可以直接使用setup图形界面设置
3、给ldap用户配置密码

ldappasswd -x -D "cn=root,dc=domain,dc=com" -w linux123 "uid=ldapuser4,ou=People,dc=domain,dc=com" -S

4、重启nslcd服务

service nslcd restart

5、客户端输入ssh ldapuser1@13.10.29.2登录,如果不能登录把/etc/pam.d/password-auth /etc/pam.d/system-auth中的>1000改成<99999然后重启sshd 服务可以了
6、如果还是不能登录,看日志/var/log/secure

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值