如何使用命令行创建用户并设置在首次登录时创建密码?

如何使用命令行创建用户并设置在首次登录时创建密码?

我目前正在尝试为教育环境设置一个计算机实验室。我希望使用 python 和 bash 脚本的组合来实现所有计算机上的用户,并且我希望设置这个,以便学生在第一次登录时创建密码。我以为这是可能的,因为这是通过设置中的 GUI 创建用户时的默认设置。但我遇到了问题。

该命令sudo adduser <user>要求立即创建密码。可以通过多次按 Enter 键来绕过此操作,但这似乎对我的脚本来说是一个问题。

该命令sudo useradd <user>让我更接近目标,因为我随后可以使用该命令sudo passwd -d <user>将其设置为无密码帐户。然后,我可以使用该命令sudo passwd -e <user>设置登录时要创建的密码。但是,该useradd命令似乎不会在主目录上创建用户目录。此外,当我进入终端时,显示用户和计算机名称的测试消失了,这让我很担心。

答案1

如果您希望他们在第一次登录时设置密码,那么在他们设置密码之前您不一定担心“安全性”,因此请使用通用/默认密码创建用户。

然后在每个帐户上使用该chage命令。使用脚本,它应该是一个简单的循环。

-d-m与 useradd 一起使用来定义和创建用户目录。请参阅 man useradd 以获取更多帮助。

此命令应该可以用来添加用户和密码

# useradd -p $(openssl passwd -1 $PASS) $USER

您可以根据需要添加其他参数,例如-d定义用户目录或-m创建用户目录的参数

相关内容