OpenLDAP 命令行整理

进程形式: /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf

目录讲解:
topldap的安装目录:/usr/local/topldap
topldap
   |-slapd            目录服务的主要程序
   |-slurpd          目录服务进行复制的程序
   |-slapadd          向目录中添加数据
   |-slapcat          把目录中的条目导出成ldif文件
   |-slapindex        重建目录的索引
   |-ldapcompare      对目录的条目的属性进行比较
   |-ldapadd          向目录服务中添加条目
   |-ldapdelete       删除目录中的条目
   |-ldapmodify       更新目录中条目的值
   |-ldapmodrdn       更改条目的DN
   |-ldappasswd       更改条目的密码
   |-ldapsearch       对目录进行查询
   |---include         目录服务的c的.h文件
   |---lib             目录服务的c的连接文件
   |---man             说明文档
   |---topldap-data    存放目录所存储的数据
   |---topldap-slurpd  存放目录进行复制时文件
   |---topldap
         |-slapd.conf  目录服务服务器端主要的配置文件
     |-ldap.conf   客户端的配置文件
  

 
 启动目录服务:
 /usr/local/topldap/slapd -d 256
 停止服务:
 /usr/local/topldap/stopslapd、如果在debug模式,按下Ctrl+c终止服务就行了
 启动目录的复制服务
 /usr/local/topldap/slurpd -d 4
 配置文件:
 /usr/local/topldap/topldap/slapd.conf

 常用命令介绍

 slapd
     4 使用IPv4标准
     6 使用IPv6标准
    -d debug模式   一般用 -1,1,256
    -f 指定配置文件的路径     
    -h 可以指定启动服务的端口   ldap://:2004  用2004端口启动服务

 另外,还可以用来导出所有用户信息/usr/sbin/slapd -T cat -l /tmp/dump.ldif 

如果在想导回去的话,只需要将/tmp/dump.ldif 文件拷贝到系统正在使用的目录下,如/var/ps/mgmtd/ldapdump.ldif
 slurpd
    -d debug模式   一般用4
    -f 指定配置文件
    -r 指定复制

  ldapadd
     -x  进行简单认证
     -D  用来绑定服务器的DN
     -h  目录服务的地址
     -w  绑定DN的密码
     -f  使用ldif文件进行条目添加的文件
     例子 ldapadd -x -D "cn=root,dc=starxing,dc=com" -w secret -f /root/test.ldif
          ldapadd -x -D "cn=root,dc=starxing,dc=com" -w secret (这样写就是在命令行添加条目)
 ldapsearch
     -x  进行简单认证
     -D  用来绑定服务器的DN
     -w  绑定DN的密码
     -b  指定要查询的根节点
     -H  制定要查询的服务器
  ldapsearch -x -D "cn=root,dc=starxing,dc=com" -w secret -b "dc=starxing,dc=com"
      使用简单认证,用 "cn=root,dc=starxing,dc=com" 进行绑定,
      要查询的根是 "dc=starxing,dc=com"。这样会把绑定的用户能访问"dc=starxing,dc=com"下的
      所有数据显示出来。
 ldapdelete
     参数和ldapadd差不多,就不写了
 ldapdelete -x -D 'cn=root,dc=it,dc=com' -w secert 'uid=zyx,dc=it,dc=com'
   这样就可以删除'uid=zyx,dc=it,dc=com'记录了,应该注意一点,如果o或ou中有成员是不能删除的。

ldappasswd
   -x  进行简单认证
   -D  用来绑定服务器的DN
   -w  绑定DN的密码
   -S  提示的输入密码
   -s pass 把密码设置为pass
   -a pass 设置old passwd为pass
   -A  提示的设置old passwd
   -H  是指要绑定的服务器
   -I  使用sasl会话方式
   #ldappasswd -x -D 'cm=root,dc=it,dc=com' -w secret 'uid=zyx,dc=it,dc=com' -S
   New password:
   Re-enter new password:
   就可以更改密码了,如果原来记录中没有密码,将会自动生成一个userPassword。
ldapmodify
   -a 添加新的条目.缺省的是修改存在的条目.
   -C 自动追踪引用.
   -c 出错后继续执行程序并不中止.缺省情况下出错的立即停止.比如如果你的ldif 文
      件内的某个条目在数据库内并不存在,缺省情况下程序立即退出,但如果使用了该参数,程
      序忽略该错误继续执行.
   -n 用于调试到服务器的通讯.但并不实际执行搜索.服务器关闭时,返回错误;服务器
      打开时,常和-v 参数一起测试到服务器是否是一条通路.
   -v 运行在详细模块.在标准输出中打出一些比较详细的信息.比如:连接到服务器的
      ip 地址和端口号等.
   -M[M] 打开manage DSA IT 控制. -MM 把该控制设置为重要的.
   -f file 从文件内读取条目的修改信息而不是从标准输入读取.
   -x 使用简单认证.
   -D binddn 指定搜索的用户名(一般为一dn 值).
   -W 指定了该参数,系统将弹出一提示入用户的密码.它和-w 参数相对使用.
   -w bindpasswd 直接指定用户的密码. 它和-W 参数相对使用.
   -H ldapuri 指定连接到服务器uri(ip 地址和端口号,常见格式为
      ldap://hostname:port).如果使用了-H 就不能使用-h 和-p 参数.
   -h ldaphost 指定要连接的主机的名称/ip 地址.它和-p 一起使用.
   -p ldapport 指定要连接目录服务器的端口号.它和-h 一起使用.
      如果使用了-h 和-p 参数就不能使用-H 参数.
   -Z[Z] 使用StartTLS 扩展操作.如果使用-ZZ,命令强制使用StartTLS 握手成功.
   -V 启用证书认证功能,目录服务器使用客户端证书进行身份验证,必须与-ZZ 强制启用
      TLS 方式配合使用,并且匿名绑定到目录服务器.
   -e 设置客户端证书文件,例: -e cert/client.crt
   -E 设置客户端证书私钥文件,例: -E cert/client.key
   #ldapmodify -x -D "cn=root,dc=it,dc=com" -W -f modify.ldif
   将modify.ldif中的记录更新原有的记录。Leah Dizon

原文地址:https://www.cnblogs.com/kungfupanda/p/1564636.html