创建系统用户后可以登录吗?

创建系统用户后可以登录吗?

在 Ubuntu 机器上,如果我运行以下命令:

adduser --system --no-create-home system-user

system-user我创建一个名为无主目录的系统用户/bin/false作为 shell。该用户nogroup默认属于(GID 65534)。我想使用此用户在我的系统上运行守护程序。

但是密码呢?我或其他人可以以某种方式登录到该系统帐户吗?我想可能是密码为空,所以我尝试在Password:出现提示时按 Enter su system-user

$ su system-user
Password:
su: Authentication failure

是因为/bin/false壳的原因吗?我不知道,因为adduser手册useradd没有说明创建系统用户时如何处理系统用户的密码。我能否确定系统中没有人可以以该系统用户身份登录?或者我应该采取其他措施来保护该帐户?我希望只有守护进程才能使用它,而没有其他人......

答案1

该帐户将被设置为无法登录,因为没有为该帐户分配有效密码,这与没有密码不同。

您可以通过执行以下操作来检查这一点 sudo grep -f system-user /etc/shadow。第二个字段(第一个和第二个冒号 ( :) 之间)将是“ *”,并且没有哈希值任何您可以提供的密码将与其匹配。为此,您必须明确设置密码。

除此之外,/bin/false输入带有密码的帐户不会给您“ Authentication failure”,它只会立即注销您,而不会发出任何消息(因为您可以通过创建一个临时帐户轻松尝试)有效的密码)

答案2

您应该首先初始化passwd您的用户:

$passwd system-user

然后返回两次以创建空白密码。

您可以验证文件中没有 passwd /etc/shadows(第二个字段应该为空)。但是,是的,即使没有任何外壳,该帐户也不会受到保护$HOME。所有拥有 sudo 帐户的用户都可以使用它。

相关内容