Ldap添加新用户

 

具体过程如下:

1)首先运行一个shell脚本,脚本内容如下:

#!/bin/sh

#首先创建一个linux帐户
useradd $1 
passwd $1

#转gid到ldap帐户
cat /etc/group | grep $1 >/tmp/group.in
/usr/share/openldap/migration/migrate_group.pl /tmp/group.in > /tmp/group.ldif
ldapadd -x -D "cn=admin,dc=cas,dc=cn" -w your_ldap_passwd -f /tmp/group.ldif

#转uid到ldap帐户
cat /etc/passwd | grep $1 > /tmp/passwd.in
/usr/share/openldap/migration/migrate_passwd.pl /tmp/passwd.in > /tmp/passwd.ldif
ldapadd -x -D "cn=admin,dc=cas,dc=cn" -w your_ldap_passwd -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数据库中的用户信息

 

2)用户添加好以后,需要给其设定初始密码,运行命令如下:

# ldappasswd -x -D "cn=admin,dc=cas,dc=cn" -w your_ldap_passwd "uid=XiaoMing,ou=People,dc=cas,dc=cn" -S

 

3)给用户设定登陆后的家目录(Home directory):这个是可选的

ldapmodify -x -D "cn=admin,dc=cas,dc=cn" -W 
dn: uid=XiaoMing,ou=People,dc=cas,dc=cn 
changetype: modify
replace: homeDirectory
homeDirectory: /home/xiaoming # 此处添加你为用户指定的家目录。如果目录不存在,不用担心,系统会自动添加的


4)如果不小心将ldap管理员密码丢失,只需要在ldap服务器主机上运行命令slappasswd设置新的密码就可以了


本文转自http://blog.csdn.net/zhxue123/article/details/7481180