我使用 useradd 实用程序创建了一个新用户,然后修改该用户以添加密码。我无法理解“正在使用的备用身份验证方案”是什么意思。意思是。还有如何更新用户以使其更新到Password set, SHA512 crypt.
状态。
另外,在执行此操作时,我发现密码/etc/shadow
未加密。添加密码时我错过了什么吗?这不应该是系统隐式的动作吗?
useradd user
passwd -S user
user LK 2016-12-24 0 99999 7 -1 (Password locked.)
usermod -p "Password"
user PS 2016-12-24 0 99999 7 -1 (Alternate authentication scheme in use.)
答案1
当你想使用时,usermod -p
你必须向它传递一个加密的密码。从man pages
:
-p, --password 密码
The encrypted password, as returned by crypt(3).
有很多方法可以获取加密密码。例如使用openssl
:
openssl passwd -1 -salt xyz yourpass
如果您想更新用户密码以SHA512
仅使用passwd
,但是,首先请确保您的系统使用SHA512
加密方法
您必须检查两个地方:
/etc/login.defs
ENCRYPT_METHOD SHA512
/etc/pam.d/common-password
password [success=2 default=ignore] pam_unix.so obscure sha512
答案2
使用 passwd 更新密码似乎可以解决整个问题。我猜测 usermod 不是为我们刚刚创建的用户添加密码的正确方法。