我刚刚熟悉了 adduser 的基本用法。我想消除交互/提示。因为我会经常重建这台机器,所以我想编写这个过程的脚本,或者最坏的情况是复制并粘贴一个完整的语句,将用户添加到正确的组并在一个命令中设置密码。
类似:
sudo adduser username1 password primarygroup secondarygroup,ternarygroup "full name1"
sudo adduser username2 password primarygroup secondarygroup,ternarygroup "full name2"
sudo adduser username3 password primarygroup secondarygroup,ternarygroup "full name3"
sudo adduser username4 password primarygroup secondarygroup,ternarygroup "full name4 "
...
sudo adduser username999 密码 primarygroup secondarygroup,ternarygroup "full name999"
您可以创建一个包含用户名列表等的文件,然后使用该
newusers
命令。它希望文件看起来像 的格式,/etc/passwd
但有一些例外,其中之一是密码是纯文本(对其进行newusers
加密)。但是,它不处理多个组。
man adduser
在 shell 提示符下键入“ ”。它将为您提供有关如何使用adduser
. 一般来说,man
会给你任何 CLI 命令的文档。但是你真的想用
useradd
而不用adduser
。简而言之:
哦,如果你想同时设置密码,你必须预先加密它。我不断地重写这个小程序来进行 Unix 标准的盐加密:
将此编译为
crypt
,然后您可以添加选项:理想情况下,您永远不想将密码放在命令行中,因为它可以显示多个位置(ps 输出、shell 历史记录等),但没有一个特别安全。
如果您需要添加这么多用户并且不断重建机器,那么可能需要使用Puppet。这本身就是一个相当简单的方法,您可以从那里扩展以涵盖其他任务。
由于是 ubuntu,语法略有不同。它可能与 debian 匹配:
您可以使用 autoexpect 记录 adduser 的交互式会话,然后创建一个模板,您将在其中替换用户名等。
您可能希望将用户从 /etc/passwd 中抽象出来并使用 LDAP。作为额外的奖励,您将在多台机器上获得一致的用户。将此与 Puppet 结合使用,您可以轻松地在每台机器上同步您的 NSS/PAM 配置。