具体过程如下:
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设置新的密码就可以了