我正在编写一个使用useradd
命令自动创建用户的脚本(我需要这个命令,而不是adduser
)。
我想以一种只使用ssh访问它的方式创建它(脚本已经在授权的密钥中添加了public_key )。
useradd --system --shell /bin/bash $NEW_USER
此命令允许通过密码登录吗?如果是,我怎样才能禁用它?
我想达到的目标是类似于--disable-password
of useradd
在这篇文章中描述的:创建没有密码的用户。
发布于 2021-12-02 03:28:32
useradd
在默认情况下创建一个带有禁用密码的帐户,如果您不给它一个带有-p
选项的帐户。
来自man useradd
:
-p
,--password
密码加密密码,由密码(3)返回。默认情况是禁用密码。
顺便说一句,如果需要禁用现有帐户的密码,可以运行passwd -l username
来锁定帐户(即禁用密码)。来自man passwd
:
-l
,--lock
锁定命名帐户的密码。此选项通过将密码更改为与可能的加密值不匹配的值(它在密码的开头添加一个!
)来禁用密码。请注意,这不会禁用帐户。用户仍然可以使用另一个身份验证令牌(例如SSH密钥)登录。若要禁用帐户,管理员应使用usermod --expiredate 1
(将帐户的过期日期设置为1970年1月2日)。不允许具有锁定密码的用户更改其密码。
它只是使密码无效而不是删除密码,这使得以后可以用passwd -u
解锁密码,而无需系统管理员知道原始密码是什么,也不需要将其设置为“默认”密码(可能是不安全的,可能是众所周知的):
-u
,--unlock
解锁指定帐户的密码。此选项重新启用密码,方法是将密码更改为以前的值(在使用-l
选项之前将其更改为值)。
也就是说,它删除了通过!
选项添加到加密密码开头的-l
。
https://unix.stackexchange.com/questions/679283
复制相似问题