我应该如何以非交互方式添加用户?

Hea*_*ray 7 bash useradd

我有一组用户需要添加到新系统中,作为准备我的服务器的 BASH 脚本的一部分。如何以非交互方式添加用户、创建其主目录、设置组并输入默认密码?

例如,如果我需要添加以下用户,我该怎么做?

user: node
password: spoon
group: ultraMegaPermissions

user:serve
password: spoot
group: sortaNotMega

user:watcher
password: spoogle
group: notMega
Run Code Online (Sandbox Code Playgroud)

Chr*_*own 7

useradd至少在 Linux 上使用。

使用crypt(3)生成的加密密码,然后执行以下每个:

useradd -m -g [group] -p [crypt output] [user]
Run Code Online (Sandbox Code Playgroud)

-m创建一个主目录。-g设置用户的初始登录组。-p设置加密密码,如返回crypt(3)(您应该注意,此选项可能不合适,因为在创建用户时,用户可以看到列出进程的加密密码)。

您可能也想使用其他选项(至少是猜测-s),请阅读man 8 useradd这些选项。


小智 6

这是一个老问题,但很好奇,其他人可以考虑命令newusers。这在我使用的 RHEL5.5 系统和 Ubuntu 12.04 系统上都存在,所以我猜它会在大多数发行版的存储库中可用。

来自man newusers

newusers 命令读取用户名和明文密码对的文件,并使用此信息更新一组现有用户或创建新用户。每一行的格式与标准密码文件(请参阅 passwd(5))相同,但下面解释了例外情况