'echo user:pass | /usr/sbin/chpasswd' 是否覆盖 root 密码?

Does 'echo user:pass | /usr/sbin/chpasswd' override the root password?

在我的工作服务器上,我创建了一个名为 Dev-admin 的新用户。此用户具有 Root 权限。密码不正确,需要修改。

我运行 chpasswd命令改变它

 echo user:pass | /usr/sbin/chpasswd

这是成功的,但是,当我使用 su - Dev-admin 更改用户时,显示的用户是:

root@domain 而不是 Dev-admin@domain

这仅仅是因为Dev-admin 拥有root 权限吗?恐怕我更改了原始 root 密码,而不仅仅是 Dev-admin 密码。

可能 Linux 无法将您的用户名识别为命令中的用户名,而是识别为命令的一部分,并且无法将您的用户名作为命令的一部分执行,而是执行 su -相反并返回 root@domain 因为您的用户名具有这些符号之一 .-_ 并且在 [=22= 中被称为 BadName ].尝试将您的用户名更改为其他名称,例如,尝试使用 devadmin 而不是 Dev-admin。所以不用怕,你没有修改root用户的密码