189 8069 5689

linux命令ldap,linux命令ldd什么意思

如何在Linux下通过ldapsearch查询活动目录的内容

从Win2000开始.微软抛弃NT域而采用活动目录来管理Windows域.而活动目录就是微软基于遵守LDAP协议的目录服务.如果用扫描器扫描的话可以发现活动目录的389端口是打开的.而且微软虽然对这个协议都擅自作了些改动.但都集中在Replication等同步的部分.其他的部分是基本和其他产品兼容的.所以ldapsearch工具可以顺利的搜索AD中的记录.其实AD最大的客户就是微软自己.所以在服务器配置向导中才用DC作为正式的名称.AD这个名称反而次要.AD在配置好之后就有了健全的目录树结构.AD的用户的objectclass为User,默认的用户记录位于Users下,而Users的objectclass就是Container.这样一个AD用户的DN可能是"cn=username,cn=users,dc=domain-suffix".AD默认的安全策略不允许"空"绑定(既bind(""等DN为空的一系列绑定函数).所以必需要有合法验证的绑定才行:

在柞水等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站制作 网站设计制作按需求定制制作,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站制作,柞水网站建设费用合理。

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对应API中的smiple_bind*().-w/-W 表示需要密码 -D "绑定的DN" -b "开始搜索的DN" -h 接主机的IP或者域名.

举例:我在学校有一台实验用的主机troy配置为"osdn.zzti.edu.cn"主域控制器.假如我在我装有fedora的笔记本osiris上执行ldapsearch,命令如下:

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主机使用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实现Linux登录账号统一管理-server

一台Centos 6.8 安装ldap server

一台Centos 6.8安装ldap client

本环境中没有使用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


当前文章:linux命令ldap,linux命令ldd什么意思
标题链接:http://jkwzsj.com/article/hogicd.html

其他资讯