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

时间:2023-01-05 18:14:00 编辑:大鹏 来源:长期打折网

本文目录索引 1,如何在Linux下通过ldapsearch查询活动目录的内容 2,linux下查找文件内容 3,请教关于用Python脚本实现ldapsearch 查询 4,nodejs 如何调用 ldap 进行用户验证和获取用户信息 5,请教关于用python脚本实现ldapsearch 查询 6,请教关于用Pyth

本文目录索引

1,如何在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 ; 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下通过ldapsearch查询活动目录的内容

2,linux下查找文件内容

  一.find命令
  基本格式:find path expression
  1.按照文件名查找
  (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
    (3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
    (4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件
  2.按照文件特征查找
  (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
    (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
    (3)find / -empty   # 查找在系统中为空的文件或者文件夹
    (4)find / -group cat   # 查找在系统中属于 group为cat的文件
    (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
    (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
    (7)find / -user fred   #查找在系统中属于fred这个用户的文件
    (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小于1000KB的文件
  3.使用混合查找方式查找文件
  参数有: !,-and(-a),-or(-o)。
  (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
   (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
   (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件
  
  二、grep命令
  基本格式:find expression
  1.主要参数
  [options]主要参数:
    -c:只输出匹配行的计数。
    -i:不区分大小写
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
  pattern正则表达式主要参数:
    \: 忽略正则表达式中特殊字符的原有含义。
    ^:匹配正则表达式的开始行。
    $: 匹配正则表达式的结束行。
    \<:从匹配正则表达 式的行开始。
    \>:到匹配正则表达式的行结束。
    [ ]:单个字符,如[A]即A符合要求 。
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的单个字符。
    * :有字符,长度可以为0。
  2.实例
  (1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
  (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
  (3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
  (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
  (5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行
  (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
  

3,请教关于用Python脚本实现ldapsearch 查询

你看看这个
http://www.grotan.com/ldap/python-ldap-samples.html#search
https://www.python-ldap.org/doc/html/ldap.html
more:
http://stackoverflow.com/questions/4784775/ldap-query-in-python
http://stackoverflow.com/questions/8170924/python-ldap-search

4,nodejs 如何调用 ldap 进行用户验证和获取用户信息

如果您已经有一个内部 IT 基础架构,它很可能包含一个 LDAP 服务器来提供用户身份。在许多情况下,最好继续使用该目录,甚至在您的应用程序位于 Bluemix® 上时也这样做。在本教程中,我将展示如何实现此操作,同时还将介绍 LDAP 协议本身的基础知识。
构建您的应用程序需要做的准备工作 学习、开发和联系
在新的 developerWorks Premium 会员计划中一站式访问强大的开发工具和活动。除了 12 个月的 Bluemix 订阅和 240 美元贷款之外,还包含 Safari Books Online。浏览 500 多册最优秀的技术图书(其中超过 50 册是专门面向安全开发人员的)。
立即注册 。
一个Bluemix 帐户。 HTML 和 JavaScript 的知识。 MEAN 应用程序堆栈(至少包括 Node.js 和 Express)的知识。如果不熟悉它,可以查阅 “ 使用 Bluemix 和 MEAN 堆栈构建自助发表 Facebook 信息的应用程序 ” 来了解它,这是 developerWorks 上的一个由 3 部分组成的教程。 一个可以将 Node.js 应用程序上传到 Bluemix 的开发环境,比如 Eclipse。 ldapjs 包。
运行应用程序
获取代码
“ 在本教程中,我将展示如何使用现有的 LDAP 基础架构向 Node.js Bluemix 应用程序提供身份验证和授权决策。 ”
演示应用程序
这是一个非常简单的应用程序。它允许您使用一个已提供的 LDAP 服务器或您自己的服务器(如果您有一个可从 Bluemix 服务器访问的服务器)来登录。登录后,您会看到另外两个页面的链接,它们用于演示授权。要访问页面,用户需要是某个特定的 LDAP 组的成员。
LDAP
LDAP(轻量型目录访问协议)是一个 Internet 标准。除了用于访问该目录的协议之外,LDAP 还定义了 命名约定 来标识实体的,定义了 模式 来指定实体中包含的信息。
命名约定
LDAP 中的条目存储在一个称为 目录信息树 的树中。该树的根称为 后缀 ,树枝称为 容器 。这些容器可以是组织单元、场所等。树的叶子是各个实体。
可以在下图中看到此结构的一个示例。后缀是 o=simple-tech 。在它之下有一些树枝: ou=people (表示用户)和 ou=groups (表示组)。在用户的树枝下,有两个表示单个用户的实体: uid=alice 和 uid=bicll 。

5,请教关于用python脚本实现ldapsearch 查询

你看看这个
http://www.grotan.com/ldap/python-ldap-samples.html#search
https://www.python-ldap.org/doc/html/ldap.html
more:
http://stackoverflow.com/questions/4784775/ldap-query-in-python
http://stackoverflow.com/questions/8170924/python-ldap-search

6,请教关于用Python脚本实现ldapsearch 查询

需要使用模块ldap,示例代码 import ldapl = ldap.initialize('ldap://ldapserver')username = "uid=%s,ou=People,dc=mydotcom,dc=com" % usernamepassword = "my password"try: l.protocol_version = ldap.VERSION3 l.simple_bind_s(username, password) valid = Trueexcept Exception, error:

7,如何查看linux是否安装mysql?

查看linux是否安装mysql有以下7步: 1、使用命令 # service mysqld status 命令来查看mysql 的启动状态如图所示: mysqld is stopped 那就说明mysql服务是停止状态,如果是 mysqld is running 那就说明mysql服务是启动状态 。 2、使用命令chkconfig --list 命令来查看mysql 的启动状态如图所示:在一下服务中找到mysqld的服务没如果状态为off,说明mysql服务没有启动。 3、使用命令chkconfig --list mysqld 命令来查看mysql 的启动状态如图所示:在一下服务中找到mysqld的服务没如果状态为off,说明mysql服务没有启动。 4、使用命令chkconfig --list | grep on 命令来查看mysql 的启动状态如图所示:如果mysql服务已经启动那么这里就会有这个服务。 5、使用命令chkconfig --list | grep off 命令来查看mysql 的启动状态如图所示:如果mysql服务没有启动那么这里就会有这个服务。 6、使用命令ps aux | grep mysqld 命令来查看mysql 的启动状态如图所示:下图对比是启动与不启动的状态。 7、使用命令 pidof mysqld 命令来查看mysql 的启动状态如图所示:如果显示PID说明程序启动,不显示PID即为程序没有启动。

8,如何在批处理命令行传递参数?

批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符”%”。 %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。 例1:C:根目录下有一批处理文件名为f.bat,内容为: @echo off format %1 如果执行C:\>f a: 那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a: 例2:C:根目录下一批处理文件名为t.bat,内容为: @echo off type %1 type %2 那么运行C:\>t a.txt b.txt %1 : 表示a.txt %2 : 表示b.txt 于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 批处理命令参数传递给node: 1、新建bat文件wal.bat(c:/bat/wal.bat) C代码 :: %~d0 :: cd %~dp0 @echo off node test.js %* 2、新建test.js文件(c:/bat/test.js) Js代码 var args = process.argv.slice(1); console.log(args); 3、运行cmd 4、输入命令 wal help 这样就能通过批处理文件将命令 “wal” 后的参数“help”传递给node。

上一篇:车管所模拟考试,驾校的科目二模拟驾驶是什么意思
下一篇:没有了
相关文章
最新资讯
热门资讯