问题现象
通过ECS管理控制台修改root密码后,无法使用该密码登录该ECS实例。
可能原因
可能是该ECS实例账号对应的/etc/shadow
或/etc/passwd
文件属性配置错误,例如配置了i
、a
属性(表示不能删除、修改数据),导致修改账号密码不生效。
说明
Linux系统中的/etc/shadow
文件用于存放账号信息,/etc/passwd
用于存放密码信息。当/etc/shadow
或/etc/passwd
文件属性配置错误,可能导致实例的部分功能无法正常工作,例如修改root账号的密码不生效。
/etc/shadow
或/etc/passwd
文件常见属性说明如下:属性 | 说明 |
---|---|
i |
|
a |
|
u | 对文件或目录设置u 属性,在删除时,其内容会被保存,以保证后期能够恢复,一般用来防止意外删除文件或目录。 |
s | 对文件或目录设置s 属性,在删除文件或目录时,会被彻底删除,不可恢复。 |
e | Linux中绝大多数的文件都默认拥有e 属性,表示该文件是使用ext文件系统进行存储的。 |
解决方案
您可以参考以下步骤,根据实际需要修改
/etc/shadow
或/etc/passwd
文件属性,来解决修改root账号的密码不生效等问题。说明 只有root用户才可以修改
/etc/passwd
文件和/etc/shadow
文件。- 使用root用户远程连接ECS实例。具体操作,请参见连接方式概述。
- 运行
lsattr [文件类型]
命令,查看并确认/etc/shadow
或/etc/passwd
文件属性是否有误。若当前文件属性错误,请继续执行步骤3修改文件属性。
以本文描述的故障为例,若文件存在i
或a
属性(禁止修改数据),则有误。例如查看/etc/passwd
文件:lsattr /etc/passwd
发现/etc/passwd
文件具有i
属性(禁止修改数据),导致修改密码不生效,需移除文件i
属性,请执行步骤3。 - 使用
chattr
命令修改/etc/shadow
或/etc/passwd
文件属性。chattr [+-=] [属性] 文件或目录名
说明针对上述修改密码不生效无法登录实例问题,可选择移除/etc/passwd
的i
属性来解决。chattr -i /etc/passwd
- +:为文件或目录添加属性。
- -:移除文件或目录已有的某些属性。
- =:为文件或目录设定一些属性。