我需要在 Linux 系统上创建数千个用户。目前,我使用newusers
带有文件的命令作为所有用户的源。该文件包含大约 10000 个用户。跑步
$ newusers /tmp/users.txt
工作并创建用户,但需要很长时间才能完成。用户不需要 shell、主目录或密码。他们也不需要能够登录。 ssh 隧道需要用户。
有没有办法更快地做到这一点?
答案1
这是我的做法,因为它们都是本地帐户:
确定userID的范围
确定用户的组 ID
编写一个脚本,该脚本将
:创建一个临时密码文件,其中包含您需要的信息:${username}:x:${userid}:${groupid}::${homedir}:/bin/false
b.使用您需要的信息创建一个临时影子文件:
${username}:!!:1:0:99999:7:::
将临时影子文件附加到 /etc/shadow 并将临时密码文件附加到 /etc/passwd
NB1:我不确定是否${homedir}
可以为空白、/dev/null
或其他内容
NB2:如果您不使用/etc/shadow
,请将:x:
in passwd 替换为:!!:
这应该相当快(无论创建临时文件需要多长时间),快速更新 passwd 和影子文件,无需任何其他密码散列、UID 搜索等。