【发布时间】:2021-08-19 14:05:33
【问题描述】:
我必须编写一个 useradd 脚本,它会添加一个新用户并为他设置一个主目录。
#!/bin/bash
echo "Name:"
read name
echo "Password:"
read password
echo "Group:"
read group
useradd -m -G $group -s /bin/bash -p $password $name
一切都按预期工作,但我在以下行中的密码有问题 -
useradd -m -G $group -s /bin/bash -p $password $name
它不起作用,所以我需要稍后在终端 passwd 命令中使用。
如何重建我的脚本,这样我就不需要使用passwd 来正确设置密码?我读到您可以使用标准输入,但我无法正确执行此操作。
【问题讨论】:
-
您尝试使用的方法需要加密密码作为参数。从手册页
-p是The encrypted password, as returned by crypt(3)。您可以使用chpasswd批量更新密码。 -
我怎样才能将它添加到我的代码中?我尝试使用 ' echo "password:name" | chpasswd' 而不是 echo "Password",我最后尝试执行相同的代码行,但它不起作用。