导航:首页 > 程序命令 > ldap命令行

ldap命令行

发布时间:2023-07-31 14:49:38

A. linux里面如何查看是否安装ldap服务

先查看一下,系统有没有该命令
1
which ldapsearch
如果没有的话安装一个
1
2
yum list "*ldap*"
yum install openldap-clients
再查看一下,是否安装好了。
1
2
rpm -ql openldap-clients
which ldapsearch

B. 有人用python写过ldap的登录和修改密码吗

你说的是AD域账号吧?先安装lpda3的库

在cmd命令行下运行:

pin install ldap3

然后开始写python脚本

fromldap3import*

user="CN=visitor02 ,OU=level1,DC=hello,DC=com,DC=cn" # 定义你要给谁改密码

admin='xxxxxx' #xxxx换成你域控的管理员账号如helloadministrator, hello是域名

adminpwd = 'xxxx' #域控的管理员密码

s=Server('10.10.xx.xx',get_info=ALL,use_ssl=True) #10.10.xx.xx换成你域控的IP地址,这条是定义域服务器信息

c=Connection(s,user=admin,password=adminpwd,auto_bind=True) #登录域服务器

print(c.extend.microsoft.modify_password(user,"123456")) #这行就是改密码。如果print出true,就是成功了。如果false,再在下面加一条

print(c.response) #会显示为什么失败。

如果想了解更多的python ldap3库,可以看这个链接网页链接

C. windows系统怎么安装ldap

一、OpenLDAP安装和配置
安装还是比较简单的,一直next就好。

这里记得把上面2个都选上,将LDAP注册为系统的一个服务,默认安装位置:C:\Program Files\OpenLDAP,
进入安装目录,编辑slapd.conf文件:
找到
ucdata-path ./ucdata
include ./schema/core.schema
在下面加入:(注意你的系统路径,可能随安装位置不同而稍有差异)
include ./schema/core.schema (这里是和原来有的,如果加入的话就重复包含了,不能正常启动了。应该除这句外都加入)
include ./schema/corba.schema
include ./schema/dyngroup.schema
include ./schema/java.schema
include ./schema/misc.schema
include ./schema/cosine.schema
include ./schema/nis.schema
include ./schema/inetorgperson.schema
include ./schema/openldap.schema
这个搞定以后,在同一文件后面的(大概65-66行,修改)
suffix ”o=anotherbug,c=com“ (直接拷贝过去引号会变成中文的。注意引号用英文的,会影响启动)
rootdn ”cn=manager,o=anotherbug,c=com“
还有第70行的位置 : rootpw secret,这里要修改为加密后的密码。
具体操作:
打开命令行,定位到安装目录下,输入:slappasswd -h {MD5} –s “替换为你想要设置的密码,无引号”

将生成的MD5密文:{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==填入原来secret位置。

OK至此配置已经搞定,可以测试一下服务了。打开命令行转到安装目录下输入:sldapd -d 1 注意命令是(slapd -d 1)

至此LDAP服务器已经搭建并可以跑起来了.下面要来测试怎么倒入.ldif格式的数据了。

二、建立条目(Entry) ,导入 ldif 后缀名文件
ldif:LDAP Data Interchange Format,基于文本。有两种类型的 LDIF 文件:第一种是描述 Directory 条目数据的,第二种是描述更新条目的。我们主要看怎么描述条目的。
打开编辑器(如Editplus,UltraEdit等),新建test.ldif内容如下:
dn: o=anotherbug,c=com
objectClass: dcObject
objectClass: organization
o: anotherbug
dc: com
dn: uid=mousepoato, o=anotherbug,c=com
uid: mousepoato
objectClass: inetOrgPerson
mail: [email protected]
userPassword: admin
labeledURI: http://anotherbug.com/blog
sn: Li
cn: test
注意ldif文件对格式的要求非常严格,属性要以冒号和空格与值隔开,并且其他地方不允许有空格。否则当你导入ldif文件时,会提示出现“ldap_add: Invalid syntax (21)”等诸多错误,另外在我机器上测试,ldif对中文支持也还不好,比如我将最后的cn: test改为 cn: 鼠标薯仔,导入就会报错。
写完保存到安装目录下。在命令行输入:
ldapadd -c -x -D “cn=manager,o=anotherbug,c=com” -w “刚才替换secret出的密码明文” -f test.ldif
运行命令后结果如下:

注意我们在ldapadd后面加上了 ”–c “ 参数,他会一直运行不会因错误而终止,比如对系统已经存在的entry命令会提示但不会中止。

三、LDAP查看工具
可能大家看了这么多感觉还是很抽象,我们需要一个GUI看看LDAP到底是个什么东东。
这里推荐两个浏览工具
1、LdapBrowser
这是个Java 开发的 LDAP Browser/Editor 工具,不但跨平台(Windows, Unix-like),而且功能非常完整,速度又快。运行起来的界面时这个样子的。

2、Softrra LDAP Administrator 2009
这是一个比较强大和专业的客户端,涵盖了大多数企业的LDAP服务类型。
一直下一步安装成功后,它的配置也是比较简单的:
新建一个profile,命名为Local_LDAP

配置连接信息

这是完整配置好后的效果

四、通过 JNDI api操作LDAP例子
Javax里面提供的JNDI为我们封装好了对LDAP 的directory service进行存取查询的函数,可以方便实用。
贴上我用JUnit4写一个对LADP服务器进行测试的代码供参考:
private static Logger log = Logger.getLogger(TestLdapOper.class);
DirContext context = null;
TestLdap tldap = null;
@Before
public void init() throws NamingException {
tldap = new TestLdap();
context = tldap.getContext();// 获取context
}
@Test
@Ignore
public void testInsert() throws NamingException {
tldap.addEntry(context, “uid=IBM,o=anotherbug,c=com”);
}
@SuppressWarnings(“unchecked”)
@Test
public void testGetAttributes() throws NamingException {
List attNameList = new ArrayList();
attNameList.add(“o”);
attNameList.add(“dc”);
attNameList.add(“objectClass”);
Map map = JNDIUitl.getAttributes(context, “o=anotherbug,c=com”, attNameList);
Iterator keyValuePairs = map.entrySet().iterator();
for (int i = 0; i < map.size(); i++) {
Map.Entry entry = (Map.Entry) keyValuePairs.next();
Object key = entry.getKey();
Object value = entry.getValue();
log.info(key + “==key”);
log.info(value + “–value”);
}
}
@SuppressWarnings(“unchecked”)
@Test
public void testGetAttriValues() throws NamingException {
assertEquals(“anotherbug.com”, JNDIUitl.getAttributeValues(context, “o=anotherbug,c=com”, “dc”).get(0) + “”);
List lst = new ArrayList();
lst = JNDIUitl.getAttributeValues(context, “o=anotherbug,c=com”, “objectClass”);
assertEquals(“organization”, lst.get(1) + “”);
for (int i = 0; i < lst.size(); i++) {
log.info(lst.get(i));
log.info(ReflectionToStringBuilder.toString(lst.get(i)).toString());
}
}
@SuppressWarnings(“unchecked”)
@Test
public void testSearchContext() throws NamingException {
List list = JNDIUitl.searchContextSub(context, “o=anotherbug,c=com”, “(objectClass=*)”);
for (int i = 0; i < list.size(); i++) {
log.info(list.get(i));
}
}
@After
public void destroy() throws NamingException {
context.close();
}

D. 配置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

阅读全文

与ldap命令行相关的资料

热点内容
windows编译安卓软件 浏览:206
加密dns列表 浏览:990
股市操练大全八册pdf 浏览:120
c传递指针到python 浏览:163
手动添加引导的命令 浏览:54
740服务器小蓝条是做什么的 浏览:523
linux文件操作命令 浏览:127
安卓手机图片文件夹加锁 浏览:781
steam提示音在哪个文件夹 浏览:339
项目开发全程实录pdf 浏览:532
单片机reset 浏览:597
pdf怎么是英文 浏览:971
旗云2压缩机保险 浏览:374
做程序员压力大吗表情包 浏览:312
pdf下拉 浏览:373
php去掉小数后面的0 浏览:956
阿里备案买什么服务器 浏览:263
网络驱动下载到哪个文件夹 浏览:483
达内程序员培训西安 浏览:507
人保送车主惠app上怎么年检 浏览:606