AndreaCostanzo1 Asked: 2021-11-28 02:45:04 +0800 CST2021-11-28 02:45:04 +0800 CST 2021-11-28 02:45:04 +0800 CST useradd 创建一个没有密码且只能通过 ssh 访问的用户 772 我正在编写一个使用命令自动创建用户的脚本useradd(我需要这个而不是adduser)。 我想以只能使用 ssh 访问的方式创建它(脚本已经在授权密钥中添加了 public_key)。 useradd --system --shell /bin/bash $NEW_USER 此命令是否允许通过密码登录?如果是,我该如何禁用它? 我想要实现的目标类似于这篇文章--disable-password中useradd描述的内容:创建没有密码的用户。 linux useradd 1 个回答 Voted Best Answer cas 2021-12-02T19:28:32+08:002021-12-02T19:28:32+08:00 useradd如果您不给它一个-p选项,默认情况下会创建一个禁用密码的帐户。 来自man useradd: -p,--password密码 crypt(3) 返回的加密密码。默认是禁用密码。 BTW,如果您需要禁用现有帐户的密码,您可以运行passwd -l username锁定该帐户(即禁用密码)。来自man passwd: -l,--lock 锁定指定帐户的密码。此选项通过将密码更改为与可能的加密值不匹配的值来禁用密码(它 !在密码的开头添加 a)。 请注意,这不会禁用该帐户。用户可能仍然能够使用另一个身份验证令牌(例如 SSH 密钥)登录。要禁用该帐户,管理员应使用usermod --expiredate 1(这将帐户的到期日期设置为 1970 年 1 月 2 日)。 密码锁定的用户不得更改其密码。 它只是使密码无效而不是删除它的事实允许它稍后被解锁passwd -u,而系统管理员不需要知道原始密码是什么或将其设置为一些“默认”密码(可能不安全,可能众所周知) : -u,--unlock 解锁指定帐户的密码。此选项通过将密码更改回其先前值(更改为使用该-l选项之前的值)来重新启用密码。 即它!通过选项删除添加到加密密码的开头-l。
useradd
如果您不给它一个-p
选项,默认情况下会创建一个禁用密码的帐户。来自
man useradd
:BTW,如果您需要禁用现有帐户的密码,您可以运行
passwd -l username
锁定该帐户(即禁用密码)。来自man passwd
:它只是使密码无效而不是删除它的事实允许它稍后被解锁
passwd -u
,而系统管理员不需要知道原始密码是什么或将其设置为一些“默认”密码(可能不安全,可能众所周知) :即它
!
通过选项删除添加到加密密码的开头-l
。