導航:首頁 > 程序命令 > 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命令行相關的資料

熱點內容
加密dns列表 瀏覽:988
股市操練大全八冊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 瀏覽:955
阿里備案買什麼伺服器 瀏覽:263
網路驅動下載到哪個文件夾 瀏覽:483
達內程序員培訓西安 瀏覽:507
人保送車主惠app上怎麼年檢 瀏覽:606
android手機開機密碼 瀏覽:482