如何从脚本非交互地创建用户帐户而不看到密码?

如何从脚本非交互地创建用户帐户而不看到密码?

页面manuseradd

http://linux.die.net/man/8/adduser

-p, --password PASSWORD 加密密码,由 crypt(3) 返回。默认是禁用密码。注意:不建议使用此选项,因为列出进程的用户将看到密码(或加密密码)。

您应该确保密码符合系统的密码策略。

但似乎没有其他方法可以创建帐户。另外,它说默认是禁用密码 - 这是什么意思?

我正在使用 Debian Wheezy

答案1

取自此脚本https://gist.github.com/Fluidbyte/6321547

有一种很棒的语言叫做expect,它可以与程序交互。这就是您要找的东西。您始终可以修改此设置以从外部源获取用户名和密码。

#!/usr/bin/expect

set user "username"
set password "password"

send "useradd -m $user\r"

# Expect prompt
expect "$"

# Set password
send "passwd $user\r"

# Expect password prompt and send pass
expect "ass"
send "$password\r"

# Expect confirm
expect "ass"
send "$password\r"

相关内容