從Win2000開(kāi)始.微軟拋棄NT域而采用活動(dòng)目錄來(lái)管理Windows域.而活動(dòng)目錄就是微軟基于遵守LDAP協(xié)議的目錄服務(wù).如果用掃描器掃描的話可以發(fā)現(xiàn)活動(dòng)目錄的389端口是打開(kāi)的.而且微軟雖然對(duì)這個(gè)協(xié)議都擅自作了些改動(dòng).但都集中在Replication等同步的部分.其他的部分是基本和其他產(chǎn)品兼容的.所以ldapsearch工具可以順利的搜索AD中的記錄.其實(shí)AD最大的客戶就是微軟自己.所以在服務(wù)器配置向?qū)е胁庞肈C作為正式的名稱(chēng).AD這個(gè)名稱(chēng)反而次要.AD在配置好之后就有了健全的目錄樹(shù)結(jié)構(gòu).AD的用戶的objectclass為User,默認(rèn)的用戶記錄位于Users下,而Users的objectclass就是Container.這樣一個(gè)AD用戶的DN可能是"cn=username,cn=users,dc=domain-suffix".AD默認(rèn)的安全策略不允許"空"綁定(既bind(""等DN為空的一系列綁定函數(shù)).所以必需要有合法驗(yàn)證的綁定才行:
在柞水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,柞水網(wǎng)站建設(shè)費(fèi)用合理。
ldapsearch -x -W -D "cn=username,cn=users,dc=domain-suffix" -b "basedn" -h host
或者是
ldap search -x -w cred -D "cn=username,cn=users,dc=domain-suffix" -b "basedn" -h host
其中-x對(duì)應(yīng)API中的smiple_bind*().-w/-W 表示需要密碼 -D "綁定的DN" -b "開(kāi)始搜索的DN" -h 接主機(jī)的IP或者域名.
舉例:我在學(xué)校有一臺(tái)實(shí)驗(yàn)用的主機(jī)troy配置為"osdn.zzti.edu.cn"主域控制器.假如我在我裝有fedora的筆記本osiris上執(zhí)行l(wèi)dapsearch,命令如下:
ldapsearch -x -W -D "cn=administrator,cn=users,dc=osdn,dc=zzti,dc=edu,dc=cn" -b "cn=administrator,cn=users,dc=osdn,dc=zzti,dc=edu,dc=cn" -h troy.osdn.zzti.edu.cn
這樣就回返回用戶administrator的信息:
# extended LDIF
#
# LDAPv3
# base cn=administrator,cn=users,dc=osdn,dc=zzti,dc=edu,dc=cn; with scope sub
# filter: (objectclass=*)
# requesting: ALL
#
# Administrator, Users, osdn.zzti.edu.cn
dn: CN=Administrator,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Administrator
description:: 566h55CG6K6h566X5py6KOWfnynnmoTlhoXnva7luJDmiLc=
distinguishedName: CN=Administrator,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
instanceType: 4
whenCreated: 20040820145628.0Z
whenChanged: 20040820151744.0Z
uSNCreated: 8194
memberOf: CN=Group Policy Creator Owners,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
memberOf: CN=Domain Admins,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
memberOf: CN=Enterprise Admins,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
memberOf: CN=Schema Admins,CN=Users,DC=osdn,DC=zzti,DC=edu,DC=cn
memberOf: CN=Administrators,CN=Builtin,DC=osdn,DC=zzti,DC=edu,DC=cn
uSNChanged: 13895
name: Administrator
objectGUID:: z44SriNF40SGBgQson8RtA==
userAccountControl: 66048
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 127375629853437500
lastLogoff: 0
lastLogon: 127375630164843750
pwdLastSet: 127374851807500000
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAfA5HVz/NVF7R0u429AEAAA==
adminCount: 1
accountExpires: 9223372036854775807
logonCount: 17
sAMAccountName: Administrator
sAMAccountType: 805306368
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=osdn,DC=zzti,DC=edu,DC
=cn
isCriticalSystemObject: TRUE
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
目的:linux系統(tǒng)默認(rèn)使用自己的Unix用戶,我們有時(shí)需要多臺(tái)主機(jī)都使用同一個(gè)用戶,這樣的還用戶管理就比較麻煩。比較簡(jiǎn)單的解決方法是配置這些linux主機(jī)都使用同一個(gè)ldap的用戶,這樣只需要在ldap中進(jìn)行用戶更改即可,不再需要所有主機(jī)都進(jìn)行更改了。
配置客戶端:
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
驗(yàn)證:
切換為系統(tǒng)中沒(méi)有,ldap中有的用戶。如果OK,則成功。
ldapsearch -x -b 'ou=people,dc=yinkp,dc=com'
批量修改主機(jī)使用ldap用戶:
分發(fā)上面已經(jīng)配置好的主機(jī)上的文件到其它linux主機(jī)
注:如果沒(méi)有分發(fā)腳本,也可以一個(gè)一個(gè)文件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服務(wù)
runRemoteCmd.sh "/bin/systemctl restart ?nslcd.service /bin/systemctl restart ?sssd.service" ldap_client
一臺(tái)Centos 6.8 安裝ldap server
一臺(tái)Centos 6.8安裝ldap client
本環(huán)境中沒(méi)有使用dns ,由hosts文件代替
pre
echo '192.168.85.129 dev.com' /etc/hosts
/pre
pre
service iptables stop
chkconfig iptables off
/pre
pre
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
/pre
pre
useradd test01
echo 'abc'| passwd --stdin test01
/pre
pre
yum -y install httpd php php-ldap php-gd -y
rpm -qa httpd php php-ldap php-gd
/pre