linux用户密码存放在哪个文件

等等,上周我帮隔壁群里的一个新成员重置了密码。
他一挥就改变了sudo。
系统要求您的密码策略过于宽松,必须包含数字和特殊符号。
我直接用openssl生成hash让他输入。
那家伙花了 1 0 分钟才弄清楚为什么他在命令行输入的密码显示为乱码。

话虽这么说,现在很多系统默认都使用SHA-5 1 2 ,这比我还在使用MD5 时要好得多。
然而昨天查看日志时,一个账号的警告天数为0天。
也许接线员的手在颤抖,按错了键。
我立即使用chage将其恢复。

一旦这个影子文件的权限被改变,就很难阻止。
例如,有一次,在深夜排除服务异常时,我注意到我的 sudo 命令突然失败了。
我继续检查,发现由于脚本错误,shadow文件的权限已经变成了6 4 4 当时我就出了一身汗……
对了,我还忘了说一件事。
以前,在 CentOS 6 系统上设置密码策略时,您必须手动编辑 login.defs。
CentOS 8 现在直接使用semanage。
迭代速度……但是我突然发现现在这么多人都在用云服务器。
他们真的了解这些基本原理吗?

如何在 Linux 上设置密码策略?

哦,说到Linux,这个操作系统真是有趣。
2 02 2 年,我在某个城市启动了一个小项目,需要使用Linux。
该Linux系统免费、可自由部署、多用户、多任务、支持多线程、多CPU、性能稳定,是网络操作系统的代表。
我当时很困惑,不知道如何设置密码策略。

我们先来说一下准备工作。
您需要安装一个名为 libpam-cracklib 的 PAM 模块。
这个东西可以提供额外的密码验证功能。
在 Debian、Ubuntu 或 LinuxMint 系统上,只需使用一个命令:sudo apt-get install libpam-cracklib。
对于CentOS、Fedora或RHEL系统,默认安装此模块,因此省略此步骤。

那么设置最小密码长度很重要。
您应该找到包含“password”和“pam_cracklib.so”的行,然后在其后添加“minlen=1 0”。
在这种情况下,密码必须至少包含 1 0 个字符。
我当时想,这1 0个数字应该包含4 种字符:大写、小写、数字和符号,所以一个简单的密码部分只能是6 个数字。

再说一下密码的复杂性,也是必须要设置的。
继续搜索这一行并添加“ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1 ”。
这样,密码必须包含一个大写字母、两个小写字母、一个数字和一个符号。

在 Debian、Ubuntu 或 LinuxMint 系统上,使用命令修改此文件:sudo vi /etc/pam.d/common-password。
对于Fedora、CentOS或RHEL系统,使用该命令修改系统认证文件。

您好,在设置密码策略时,您必须仔细阅读文档并按步骤进行操作。
别着急。
当时我花了一段时间,但后来我发现其实并没有那么难。
你只需要小心和耐心。