在 Linux 中使用 shell 脚本创建多个用户
在 Linux 中,我们为多种目的创建用户,因此在 Linux 中,根据任务创建新用户是很常见的。所以有时我们需要创建多个用户或多个用户。我们无法一一完成,因为这会非常耗时,因此我们可以使用自动化脚本来简化我们的任务。
在这里,我们使用了一个 shell 脚本来一次性创建多个用户。
方法一:使用终端
在这种方法中,我们不会使用任何脚本,我们将使用一个命令以简单的步骤创建多个用户。
步骤 1:创建一个文件并列出其中的用户名称。
touch /opt/usradd
第 2 步:运行下面给出的循环
for i in `cat /opt/usradd` ; do useradd $i ; done
第 3 步:要查看创建的用户,只需键入“id”代替 useradd
for i in `cat /opt/usradd` ; do id $i ; done
或者
awk - F: '{print $1}' /etc/passwd
第 4 步:要为每个用户提供不同的密码,请交互使用“passwd”代替 useradd。
for i in `cat /opt/usradd` ; do passwd $i ; done
方法二:使用Shell脚本
第 1 步:首先,我们创建了一个包含所有用户名称的文本文件。并将其保存在特定位置。
create a text file userlist with all the usernames in it.
vim /tmp/userlist
第 2 步:在那之后 我们编写了一个脚本来自动执行任务。
creating a .sh file to write the script in it.
vim /usr/sbin/createuser.sh
第 3 步:我们编写了以下脚本
//execute the Script using a bash shell
#!/bin/bash
//location of the txt file of usernames
userfile=/tmp/userlist
//extracting usernames from the file one-by-one
username=$(cat /tmp/userlist | tr 'A-Z' 'a-z')
//defining the default password
password=$username@123
//running loop to add users
for user in $username
do
//adding users '$user' is a variable that changes
// usernames accordingly in txt file.
useradd $user
echo $password | passwd --stdin $user
done
//echo is used to display the total numbers of
//users created, counting the names in the txt
//file, tail to display the final details of
//the process on both lines(optional)
echo "$(wc -l /tmp/userlist) users have been created"
tail -n$(wc -l /tmp userlist) /etc/passwd
脚本中使用的标签:
- userfile — 给出文件的位置及其包含的所有用户名。
- 用户名— 使用“cat”读取文件,将所有大写字母转换为小写字母,因为我们永远不知道用户给出的名称格式是什么。
- 密码- 将是您的用户名 @123。
- 我们为用户名运行了一个循环,遵循带有所有用户名的 useradd 命令。
- echo — 'wc -l' 计算这些文件中的行数,并打印文件数。
- tail — 用于检查所有细节。
第 4 步:授予脚本文件的权限。 u+x,唯一的用户将能够执行这个文件
//here we are giving the executable permission
//of the file to the user.
chmod u+x /usr/sbin/createuser.sh