HCRM博客

如何在CentOS系统中设置用户密码?

在CentOS系统中,设置和管理密码是确保系统安全的重要步骤,无论是为用户账户还是为GRUB引导加载程序设置密码,都需要遵循一系列明确的步骤,以下是具体介绍:

CentOS设置用户密码

如何在CentOS系统中设置用户密码?-图1
(图片来源网络,侵权删除)

1、使用passwd命令修改当前用户密码:当用户需要更改自己的密码时,可以使用passwd命令,该命令会提示用户输入当前密码(如果设置了的话),然后要求输入新密码并进行确认,要更改当前用户的密码,只需在终端中输入passwd,然后按照提示操作即可。

2、为新用户设置密码:当创建新用户时,可以使用useradd命令,随后使用passwd命令为新用户设置密码,要创建一个名为“newuser”的用户并为其设置密码,可以执行以下命令:

```bash

useradd newuser

passwd newuser

```

如何在CentOS系统中设置用户密码?-图2
(图片来源网络,侵权删除)

然后根据提示输入新用户的密码。

3、强制用户下次登录时更改密码:系统管理员可以使用chage命令强制用户在下次登录时更改密码,要让用户“exampleuser”在下次登录时更改密码,可以执行:

```bash

chage d 0 exampleuser

```

这将把用户的密码上次更改日期设置为0,从而触发密码过期提示。

如何在CentOS系统中设置用户密码?-图3
(图片来源网络,侵权删除)

4、设置密码复杂度要求:可以通过配置/etc/pam.d/systemauth/etc/pam.d/passwordauth文件中的pam_pwquality.so模块来设置密码复杂度要求,这些模块允许管理员定义密码的最小长度、复杂性等,要设置密码至少包含一个大写字母、一个小写字母和一个数字,可以编辑相关文件并添加或修改以下行:

```bash

password requisite pam_pwquality.so retry=3 minlen=8 ucredit=1 lcredit=1 dcredit=1 ocredit=1

```

这里的参数分别表示尝试次数、密码最小长度以及各种字符类型的最低要求。

5、密码历史记录:为了防止用户频繁重复使用旧密码,可以通过配置PAM模块来保存一定数量的旧密码,并在设置新密码时进行检查,要保存最近5个密码历史记录,可以在相应的PAM配置文件中添加或修改以下行:

```bash

password requisite pam_unix.so remember=5

```

这样,如果用户尝试设置一个之前已经使用过的密码,系统将拒绝该操作。

6、自动锁定账户:为了增强安全性,可以配置系统在多次尝试失败后自动锁定账户,这可以通过修改/etc/pam.d/commonauth文件来实现,要设置连续3次尝试失败后锁定账户,可以添加或修改以下行:

```bash

auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 fail_interval=900

```

这里的参数分别表示最大失败次数、账户锁定时间以及两次失败尝试之间的间隔时间。

7、重置root密码:如果忘记了root密码,可以通过进入单用户模式来重置,首先重启系统,在启动时按e键进入GRUB编辑模式,找到以linux16开头的行,将其中的ro改为rw init=/sysroot/bin/sh,然后按Ctrl+X启动到单用户模式,接下来挂载根文件系统并重新挂载proc文件系统:

```bash

mount o remount,rw /

mount t proc /dev/proc /proc

mount t sysfs /dev/sys /sys

```

最后使用chroot命令切换到根目录并重置root密码:

```bash

chroot / /bin/passwd root

```

输入新的root密码两次后,使用以下命令同步文件系统并重启:

```bash

touch /.autorelabel

exit

sync

reboot

```

CentOS设置GRUB密码

1、生成MD5加密密码:首先生成一个MD5加密的密码字符串,可以使用在线工具或命令行工具如md5sum来生成。

```bash

echo "your_password" | md5sum

```

记下输出的哈希值。

2、编辑GRUB配置文件:打开GRUB配置文件进行编辑,对于大多数CentOS系统,这个文件通常位于/etc/grub.conf/boot/grub/grub.conf,找到以下行:

```bash

## Uncomment to enable boot menu at startup.

#menuentry 'CentOS (2.4.xxxx)' class centos class gnulinux class gnu class os {

# set root='(hd0,1)'

# ...

#}

```

在这段代码下方添加一个新条目来配置超级用户密码。

```bash

superusers="root"

password md5 $1$DhJj8$

```

其中$1$DhJj8$是你之前生成的MD5哈希值,保存并关闭文件。

3、更新GRUB配置:运行以下命令更新GRUB配置:

```bash

grub2mkconfig o /boot/grub2/grub.cfg

```

或者对于老版本的GRUB:

```bash

grubmkconfig o /boot/grub/grub.conf

```

这将应用你对GRUB配置文件所做的更改。

4、验证GRUB密码:重启系统并观察是否出现GRUB菜单,在菜单中选择你的操作系统条目,然后按e键进入编辑模式,你应该能看到一个以password md5开头的行,后面跟着你设置的加密密码,按b键启动系统,系统应该会提示你输入GRUB密码,输入正确的密码后,系统将继续启动过程。

FAQs常见问题解答

1、如何查看当前系统的GRUB版本?

解答:可以通过在终端中运行以下命令查看GRUB的版本信息:

```bash

grub2editenv list

```

这将显示当前的GRUB环境变量列表,包括版本信息,如果使用的是旧版本的GRUB(GRUB legacy),则可能需要检查/boot/grub/menu.lst/etc/grub.conf文件中的相关注释。

2、如何在不进入单用户模式的情况下重置root密码?

解答:除了进入单用户模式外,还可以通过Live CD或USB启动盘来重置root密码,首先使用Live CD或USB启动盘引导系统,然后挂载CentOS的根分区,使用chroot命令切换到CentOS的根环境:

```bash

mount /dev/sda1 /mnt

chroot /mnt

```

使用passwd命令重置root密码:

```bash

passwd root

```

完成后,使用以下命令退出chroot环境并重启系统:

```bash

exit

reboot

```

这里假设根分区的设备标识符为/dev/sda1,实际情况可能会有所不同,请根据实际情况调整设备标识符。

分享:
扫描分享到社交APP
上一篇
下一篇