在CentOS系统中设置密码是系统管理的基础操作,也是保障服务器安全的重要环节,无论是初次安装系统后为root账户设置密码,还是日常管理中为用户修改或重置密码,掌握正确的方法都至关重要,以下将详细介绍在CentOS系统中设置密码的几种常见方法及注意事项。

CentOS系统安装过程中,会有一个步骤提示为root用户设置密码,root用户是Linux系统中的超级管理员,拥有最高权限,因此为其设置一个强密码是系统安全的第一道防线,安装程序会要求输入两次密码以确保一致性,输入时密码不会明文显示,这是正常的安全设计,建议此时就设置一个复杂度足够的密码,结合大写字母、小写字母、数字和特殊符号。

如果系统已经安装完成,需要修改root用户的密码,最直接的方法是使用passwd命令,以root身份登录系统后,在终端中输入passwd,系统会提示输入新的密码,同样,需要输入两次以确认,修改成功后,系统会提示“all authentication tokens updated successfully”,务必记住新密码,否则将无法进行高级系统管理操作。
对于普通用户账户的密码管理,同样可以使用passwd命令,root用户可以为任何用户修改密码,只需在命令后加上用户名,例如passwd username,而普通用户只能修改自己的密码,输入passwd后,系统会先要求输入当前密码进行验证,通过后再设置新密码,这种设计避免了未授权的密码修改,提升了系统安全性。
在某些情况下,可能需要强制用户下次登录时更改密码,这可以通过passwd命令的-e或--expire选项来实现,例如passwd -e username,执行后,该用户的密码状态会被标记为过期,下次登录时系统将强制要求设置新密码,这在批量创建新用户或初始化用户账户时非常实用。
如果忘记了root密码,无需重装系统,可以通过单用户模式重置,重启系统,在GRUB启动菜单界面按e键编辑启动参数,找到以“linux16”开头的行,将其中的“ro”改为“rw init=/sysroot/bin/sh”,修改完成后按Ctrl+X启动系统,此时会进入单用户模式,运行chroot /sysroot切换到原始根环境,然后使用passwd root设置新密码,如果系统启用了SELinux,还需要创建.autorelabel文件以确保安全上下文正确:touch /.autorelabel,退出chroot环境并重启系统后,即可使用新密码登录。
密码策略是系统安全的重要组成部分,过于简单的密码容易受到暴力破解攻击,建议遵循以下原则:密码长度至少8位,包含大小写字母、数字和特殊字符;避免使用常见词汇、生日或连续字符;定期更换密码,不建议长期使用同一密码,可以通过编辑/etc/login.defs文件来设置全局密码策略,如密码有效期、最小长度等,更细致的策略可以通过PAM(Pluggable Authentication Modules)模块实现,例如编辑/etc/pam.d/system-auth文件来配置密码复杂度要求。
除了本地密码认证,还可以考虑配置SSH密钥认证方式,尤其对于远程管理的服务器,密钥认证比密码认证更安全,避免了密码被暴力破解的风险,生成SSH密钥对后,将公钥上传至服务器的~/.ssh/authorized_keys文件中,即可实现无密码登录,即使如此,保留一个强密码作为后备认证方式仍是明智之举。

系统管理员应养成良好习惯,定期检查用户密码状态,使用chage命令可以查看和修改用户密码的过期信息,例如chage -l username会显示密码最后修改日期、过期时间等详细信息,对于长期未活跃的用户账户,应考虑禁用或删除,以减少潜在的安全风险。
正确设置和管理密码是维护CentOS系统安全的基础,通过结合强密码策略、定期更新和多重认证机制,可以显著提升服务器的整体安全性,每个系统管理员都应当重视这一环节,确保系统始终处于 protected 状态。
