环境
centos 6.5
yum安装的ldap
ldap用户管理中,创建用户需要一串命令,所以整理了一个用户管理脚本,用于用户创建,删除,显示等管理
脚本
使用时请注意修改LDAP的域名 (编译安装的LDAP路径需要自己修改)
用法
add user:添加用户
del user:删除用户
search user:搜索用户
list:显示所有用户
help:帮助
#!/bin/bash option=$1 user=$2 def ldap_add_user(): #首先创建一个Linux帐户 useradd $1 passwd $1 #转gid到ldap帐户 cat /etc/group | grep $1 >/tmp/group.in /usr/share/migrationtools/migrate_group.pl /tmp/group.in > /tmp/group.ldif ldapadd -x -D "cn=Manager,dc=iptv,dc=com" -w scyc93. -f /tmp/group.ldif #转uid到ldap帐户 cat /etc/passwd | grep $1 > /tmp/passwd.in /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd.in > /tmp/passwd.ldif ldapadd -x -D "cn=Manager,dc=iptv,dc=com" -w scyc93. -f /tmp/passwd.ldif #删掉创建的linux帐户, 使帐户成为纯粹的ldap帐户,而不是local帐户 userdel $1 rm -rf /home/$1 #rm /tmp/group.ldif #rm /tmp/passwd.ldif ldapsearch -x "uid=$1" #可用于显示刚刚添加到ldap数据库中的用户信息 case $option in add) if [ -z $user ] then echo "user Can't be empty" exit 1 else #/home/gerrit/ldapadmin/ldapadduser.sh $user ldap_add_user $user fi ;; del) if [ -z $user ] then echo "user Can't be empty" exit 1 else #删除用户 ldapdelete -x -D "cn=Manager,dc=iptv,dc=com" -w scyc93. "uid=$user,ou=People,dc=iptv,dc=com" fi ;; search) if [ -z $user ] then echo "user Can't be empty" exit 1 else #显示用户 search_user=`ldapsearch -x -b "uid=$user,ou=People,dc=iptv,dc=com" | grep -E "^dn|^userPassword"` if [ -z $search_user ] then echo "user not existed" else echo "$search_user" fi fi ;; help) echo "please input options (add:add user.del:del user.search:search user,list:display all user)" ;; list) #显示所有用户 ldapsearch -x -b "ou=People,dc=iptv,dc=com" | grep -E "^dn|^userPassword" ;; *) echo "uknow options" echo "please input options (add:add user.del:del user.search:search user,list:display all user)" ;; esac