📌  相关文章
📜  在 Linux 中使用 shell 脚本创建多个用户

📅  最后修改于: 2022-05-13 01:57:28.486000             🧑  作者: Mango

在 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