我需要制作一批用户

我编写了一些代码,允许我根据其中包含用户名的文件创建一批用户。 但它最终从几行变为大约50行,我删除了它。 必须有一个更好的方法,我被困住了。

我的目标是有一个bash脚本,可以让多个用户使用密码和自定义UID,并添加到组中。 谁能告诉我一个脚本的例子呢?

打开终端并输入:

sudo newusers /tmp/userlist.txt 

在userlist.txt文件中,每行应包含以下语法的用户数据:

 username:password:User ID:Group ID:Comments:Userhome directory:User shell 

由于userlist.txt文件包含用户的密码,因此在完成新用户的创建后,不应将其存储为人类可读的forms。 我的建议是将userlist.txt存储在使用强密码加密的文件中,然后在安全地存储加密的userlist.txt文件之后,从/tmp目录中删除原始userlist.txt文件,以便没有人可以将用户密码读作纯文本。

有关newusers命令类型语法的更多信息:

 man newusers 

在新用户的man结果中,GECOS字段也称为用户的注释字段。

检查/etc/passwd文件以查看是否已创建新用户。 简单的方法是显示一个仅包含用户名称的列表(使用该命令可以减少不必要的信息。)使用以下命令:

 cut -d: -f1 /etc/passwd 

您将需要pwgen工具来制作随机密码

创建一个文件(users.txt),其用户名用\ n分隔:

 userA userB userC 

编写一个从stdin读取的bash脚本:

 while read user do password=$(pwgen -N 1) sudo useradd $user -m -s /bin/bash sudo passwd $user $password echo Created $user with password $password done 

最后,调用脚本:cat users.txt | / bin / bash my_script.sh