- 论坛徽章:
- 0
|
文本写了一个简单的创建用户帐号的脚本方便帐号管理。
文中以中文和"#"开头的是注释和说明:
注,编辑脚本时别忘了把“#!/bin/sh”放在脚本文件的首行!
### Input the user account
if [ "$1" = "" ];then
printf "Please input the user account: "
read ans1
user=$ans1
echo "\n"
else
user=$1
fi
提示用户输入用户名赋值给变量user
### make sure the username is unique
existuser=` id $ans1 2> /dev/null `
while [ "$existuser" != "" ]
do
echo "user $user already exist!"
printf "Please input another username: "
read ans3
user=$ans3
existuser=` id $ans1 2> /dev/null `
echo ""
done
检查输入的用户名是否唯一,如果已经存在则提示用户再次输入用户名并赋值给变量user
### adding user
useradd -g group1 -d /NFS/user/$user -m $user
passwd $user
在本地文件里添加用户并设定用户密码,
注1、这里的group1是指定默认组的组名,请自行更改
注2、这里的/NFS/user/是从远程主机上mount过来的,用于配合automount服务并统一用户主目录使用,请自行更改
注3、-m选项是当指定的用户主目录不存在时自动创建该目录,在大多数情况下这是默认选项,即不加该选项,系统会自动加上
sed -i "s/\/gti1home\/user\/$user/\/home\/$user/g" /etc/passwd
cd /ldapsettings/
grep $user /etc/passwd > newuser.in
/usr/share/openldap/migration/migrate_passwd.pl newuser.in > newuser.ldif
ldapadd -x -D "cn=Manager,dc=dam,dc=com" -w 1234567 -f /ldapsettings/newuser.ldif
rm -f /ldapsettings/newuser.in
rm -f /ldapsettings/newuser.ldif
sed -i '/$user\:/d' /etc/passwd
sed -i '/$user\:/d' /etc/shadow
修改用户的home目录,并将本地的帐号信息导入ldap数据库,删除临时文件,删除本地用户验证信息
注1、命令里的1234567是ldap服务的管理员密码。
注2、双引号里的内容为ldap服务的base信息,如果连这都不知道,你就没必要看这篇文章了^_^
注3、执行migrate_passwd.pl命令请确保migrate_common.ph文件的正确性,关于如何“migrate_common.ph文件的正确性”请参考我的文章《OpenLDAP集中管理用户帐号》
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13902/showart_1710654.html |
|