批量创建Linux用户账号
2011-11-20 21:52
776 查看
本shell脚本用于批量创建Linux用户账号并加入群组
使用环境:在windows中使用Excel编辑好账号、群组,使用Xmanager或其它方式上传至Linux系统,然后使用sh运行该脚本即可。
1. 使用excel准备账号群组文件,A栏为账号名,B栏为其加入的群组名:
2. 将其另存为:adduser.txt(默认使用ANSI编码方式)
3. 使用xmanager等工具将adduser.txt上传至Linux系统中(以/tmp/script/为例)。
4. 预先创建相应群组:
[root@LKCentOS ~]#groupadd group100
[root@LKCentOS ~]#groupadd group200
[root@LKCentOS ~]#groupadd group300
[root@LKCentOS ~]#groupadd group400
(以上也可用script完成)
5. 制作以下script,存为adduser.sh,并在root下运行sh adduser.sh:
#!/bin/bash
#Program:
# This program shows how to create accounts using a text file which include a lot of accounts and groups,etc.
#History:
#2011/11/20 LuoKun V1.0
#If you have any questions or suggestions,please write to luokun0810@hotmail.com.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# grep -v '^$' /tmp/script/adduser.txt 将空白行过滤掉;tr -d '\r'去除 DOS 档案留下来的 ^M 断行的符号。;awk '{print $1}'将adduser.txt第一栏(账号)取出。
usernames=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}')
i=0
for username in $usernames
do
#根据$i将adduser.txt中每个账号对应的群组名取出。
i=$((i+1))
groupname=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}'|sed -n "${i}p")
#将账号后面的群组设置为初始群组。
useradd $username -g $groupname
#将每个账号密码都设置成P@ssw0rd,并强制下次登录时修改密码。
echo "P@ssw0rd"|passwd --stdin $username
chage -d 0 $username
echo $username "has been created!"
done
6. 验证:
1) 群组:
2) 账号:
附件:http://down.51cto.com/data/2359318
使用环境:在windows中使用Excel编辑好账号、群组,使用Xmanager或其它方式上传至Linux系统,然后使用sh运行该脚本即可。
1. 使用excel准备账号群组文件,A栏为账号名,B栏为其加入的群组名:
2. 将其另存为:adduser.txt(默认使用ANSI编码方式)
3. 使用xmanager等工具将adduser.txt上传至Linux系统中(以/tmp/script/为例)。
4. 预先创建相应群组:
[root@LKCentOS ~]#groupadd group100
[root@LKCentOS ~]#groupadd group200
[root@LKCentOS ~]#groupadd group300
[root@LKCentOS ~]#groupadd group400
(以上也可用script完成)
5. 制作以下script,存为adduser.sh,并在root下运行sh adduser.sh:
#!/bin/bash
#Program:
# This program shows how to create accounts using a text file which include a lot of accounts and groups,etc.
#History:
#2011/11/20 LuoKun V1.0
#If you have any questions or suggestions,please write to luokun0810@hotmail.com.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# grep -v '^$' /tmp/script/adduser.txt 将空白行过滤掉;tr -d '\r'去除 DOS 档案留下来的 ^M 断行的符号。;awk '{print $1}'将adduser.txt第一栏(账号)取出。
usernames=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}')
i=0
for username in $usernames
do
#根据$i将adduser.txt中每个账号对应的群组名取出。
i=$((i+1))
groupname=$(grep -v '^$' /tmp/script/adduser.txt|tr -d '\r'|awk '{print $1}'|sed -n "${i}p")
#将账号后面的群组设置为初始群组。
useradd $username -g $groupname
#将每个账号密码都设置成P@ssw0rd,并强制下次登录时修改密码。
echo "P@ssw0rd"|passwd --stdin $username
chage -d 0 $username
echo $username "has been created!"
done
6. 验证:
1) 群组:
2) 账号:
附件:http://down.51cto.com/data/2359318
相关文章推荐
- linux 创建用户(批量创建用户) 账号管理与 ACL 权限配置
- Linux下如何批量创建用户并设置8位随机密码
- linux实战考试题:批量创建用户和密码-看看你会么
- 在 Linux 中如何自动批量创建用户
- linux下如何批量创建用户
- Linux 下批量创建用户(shell 命令)
- linux 批量创建用户
- linux 批量创建远程用户
- Linux上批量创建账号
- 批量创建Linux系统账号并设置各不相同的随机密码
- PowerShell 批量创建AD用户账号
- 详细介绍Linux批量用户的创建
- Linux中用户和用户组的管理以及如何批量创建用户
- Linux中批量创建用户的方法
- Linux 批量创建用户及设置随机密码
- 批量创建用户账号和自定义回收站
- 批量创建linux用户并设置初始密码
- Linux系统下批量创建用户
- linux实战考试题:批量创建用户和密码-看看你会么?
- Shell编程面试题4_批量创建Linux用户并设置密码