ldap配置,LDAP用户

http://www.itjxue.com  2023-01-08 17:14  来源:未知  点击次数: 

配置linux主机使用ldap用户

目的:linux系统默认使用自己的Unix用户,我们有时需要多台主机都使用同一个用户,这样的还用户管理就比较麻烦。比较简单的解决方法是配置这些linux主机都使用同一个ldap的用户,这样只需要在ldap中进行用户更改即可,不再需要所有主机都进行更改了。

配置客户端:

a、安装ldap客户端:

yum install nss-pam-ldapd pam_ldap -y?

b、图形化配置:

LANG=C authconfig-tui

或者用命令修改:

authconfig --enablemkhomedir --disableldaptls --enableldap --enableldapauth --ldapserver=ldap://110.1.236.51 --ldapbasedn='dc=yinkp,dc=com' --update

cat /etc/sysconfig/authconfig |grep yes?

1、增加/etc/openldap/ldap.conf

2、修改 /etc/nsswitch.conf中sss为ldap

3、 修改/etc/pam.d/system-auth,/etc/pam.d/password-auth

sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/system-auth

sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/password-auth

4、修改sssd配置文件:

vi /etc/sssd/sssd.conf

5、修改nslcd配置文件:

vi /etc/nslcd.conf

6、重启nslcd/sssd

service nslcd restart

service sssd restart

验证:

切换为系统中没有,ldap中有的用户。如果OK,则成功。

ldapsearch -x -b 'ou=people,dc=yinkp,dc=com'

批量修改主机使用ldap用户:

分发上面已经配置好的主机上的文件到其它linux主机

注:如果没有分发脚本,也可以一个一个文件scp

deploy.sh /etc/sysconfig/authconfig /etc/sysconfig/ all

deploy.sh /etc/openldap/ldap.conf /etc/openldap/ all

deploy.sh /etc/nsswitch.conf /etc/ all

deploy.sh /etc/pam.d/system-auth /etc/pam.d/ all

deploy.sh /etc/sssd/sssd.conf /etc/sssd/ all

deploy.sh /etc/nslcd.conf /etc/ all

重启nslcd/sssd服务

runRemoteCmd.sh "/bin/systemctl restart ?nslcd.service /bin/systemctl restart ?sssd.service" ldap_client

Jenkins上集成多个LDAP服务器认证

1. 安装LDAP插件

[ ]

2. 添加一个Jenkins LDAP配置

Server :这里填写LDAP server的地址即可

root DN : 这里填写你需要的base路径, 如果这里不填则勾选 Allow blank rootDN ,但是user search base和group search base则不能为空,否则会报找不到object的错误

User search base :可以不填,则会查找改root DN下的所有用户

User search filter :一般包含三种, uid={0}; cn={0}; sAMAccountName={0}, 如果不确定LDAP Server怎样设置的,则可以依次尝试

Group search base : 可以不填,则会查找改root DN下的所有组

Manager DN :认证查询该LDAP服务器的用户DN,包括该用户的完整CN, OU, DC

Manager Password : 上述用户的密码

其他可以保持默认配置

3. 添加另外一个LDAP Server 的配置

点击 Add Server , 可以按照上述配置继续配置,这两个可以是不同的配置

配置多个ldap时建议勾选上 Ignore if unavailable ,这样如果其中一个ldap server不可用,会尝试使用下一些个ldap server。

4. 配置过程中遇到的问题

4.1 错误日志:

User lookup: failed for user "your_username" LdapCallback;null; nested exception is javax.naming.PartialResultException [Root exception is javax.naming.CommunicationException: dc1.dc2.dc3:389 [Root exception is java.net.UnknownHostException: dc1.dc2.dc3]] LDAP Group lookup: could not verify.

其中your_username是你试图登陆的一个AD用户; dc1.dc2.dc3是你设置的DC=dc1, DC=dc2, DC=dc3,我这里出现了该问题是因为LDAP server我提供的是一个IP地址

原因:该问题是找不到 dc1.dc2.dc3该域名,请在AD上配置域名解析 your_LDAP_IP 到dc1.dc2.dc3或者临时在系统的/etc/hosts文件中添加该域名解析

4.2 错误日志:

LdapCallback;LDAP response read timed out, timeout used:60000ms.; nested exception is javax.naming.NamingException: LDAP response read timed out, timeout used:60000ms.; remaining name ''

这个问题是因为connection pool的连接有问题,解决方案是在Jenkins的LDAP配置中添加一个环境变量 com.sun.jndi.ldap.connect.pool 设为 false , 具体可参考:[ ]

4.3 我使用的是docker 容器跑的Jenkins,有一些有用的命令

docker logs --following container_name/ID 查看日志

docker exec --user root -it container_name/ID /bin/bash 以root用户登陆该容器

4.4 如果登陆速度较慢,可以enable cache来减少查询LDAP server的负载

LDAP集成配置需要启用ssl才能修改密码

需要。

使用非加密的ldap时,只能对AD域账号信息查询。如果要对AD域用户信息进行修改和新增操作,必须使用(SSL)加密方式连接AD,需满足如下几个条件:① AD上需要安装证书服务。② 连接AD的主机上使用打开浏览器申请证书。③ 如果连接AD的主机是Linux,需要安装openssl包,制作CA证书

微软官方给出的ldap修改密码方案:密码存储在 Active Directory 用户中的对象的 unicodePwd属性。可以在有限的情况下,写入此属性,但无法读取。该特性只能修改 ;不能将添加的对象的创建日期或通过搜索查询。 若要修改此属性 ,则客户端必须 128 位安全套接字层 (SSL) 连接到服务器 。为此连接成为可能,服务器必须拥有一个 128 位的 RSA 连接的服务器证书,客户端必须信任生成服务器证书的证书颁发机构 (CA) 和客户端和服务器必须能够使用 128 位加密。

如何配置LDAP思科呼叫管理器

access-list ldap-test permit any any ;这里建立一个acl,并将其绑定到outside口(命令略)

最简单的静态NAT转换:

static (dmz,outside) 10.10.1.133 20.0.35.101 netmask 255.255.255.255? ;将dmz接口所在网络内的20.0.35.101地址转换为10.10.1.133这样的outside网络地址

static (outside,dmz) 20.0.35.166 10.10.1.1 netmask 255.255.255.255??? ;将outside网络的10.10.1.1地址转换为20.0.35.166这样的dmz网络地址

然后在linux pc 尝试ping一下10.10.1.133地址,保证ping通。这样,就保证外网可以正常访问到http服务器的地址了。

配置ldap认证服务器:

我使用的LDAP服务器实际是一台安装了Windows2003的PC,在它之上安装windows2003服务器上的“域控制器”(Active dirctionary)服务,这个“域控制器”也叫做Active dirctionary,是windows2003服务器的一项重要服务,主要用在windows域的控制,所以也叫做域控制器,它是基于LDAP协议的,所以,它就是一台LDAP服务器。除了微软的这个域控制器活动目录之外,常见的LDAP服务器还有SUN、novell等公司的专用LDAP服务器软件,以及开源的基于Linux的OpenLDAP。

具体的安装细节就不介绍了,安装好之后,在域控制器软件中user分支下添加一个用户ldaptest并设置密码。我们之后就将使用这个用户来做认证。

(责任编辑:IT教学网)

更多

推荐图片影音文章