RHEL6: Bash脚本实现批量添加用户

Don't repeat yourself.
用脚本批量生成用户,就可以自动生成成千上万个用户啦。

基本功能

1. 程序接受2个参数,第一个参数是生成用户的数量,第二个参数是用户名的前缀。
例如,执行

# ./batUser 3 testuser

会生成 testuser1, testuser2, testuser3 这3个用户。

2. 用户的默认密码设定为 redhat .

特殊情况处理

1. 如果用户已经存在,直接将其密码改为 redhat .

代码实现

#!/bin/bash
# 
# Create users in batch.
# Parameters: The number of users to create; Username;
# Result: Create users as specified.
# Execution: batUser <Number of Users to create> <username> 
# Example: batUser 5 testuser (run as root)
# Example-result: Created testuser1, testuser2, testuser3, testuser4, testuser5
# Author: feichashao
#

if [ $# -ne 2 ]
        then
        echo "ERROR: This program should take EXACTLY 2 parameters."
        exit 3
fi

number=$1
username=$2
for i in $(seq 1 $number)
        do
        useradd "$username$i" > /dev/null
        echo redhat | passwd --stdin $username$i > /dev/null
        echo "Created user [$username$i]"
        done

测试

赋予脚本执行权限,尝试添加30个前缀为tu的用户。

# chmod 777 batUser
# ./batUser 30 tu

查看/etc/passwd 应该能发现最后多了30个以tu开头的用户。

# vim /etc/passwd