ubuntu等linux系统中设置密码的策略

本文介绍了Ubuntu等Linux系统中设置密码策略的方法。包括安装PAM的cracklib模块等准备工作,还阐述了禁止使用旧密码、设置最短密码长度、密码复杂度以及密码过期期限等策略的具体设置步骤,且部分策略仅对非root用户有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu等linux系统中设置密码的策略

玩蛇网推荐图文教程:python 列表
linux系统中的对于密码是非常严格的,对它的策略进行日常管理是重生之重,在今天的教程中我们来看一下ubuntu等linux系统中设置密码的策略。

假设你已经在你的 Linux 系统上使用了 ,因为这些年所有的 Linux 发行版都在使用它。

ubuntu linux系统密码策略

linux密码策略的准备工作
安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。

Debian、 或 Linux Mint 系统上:

$ sudo apt-get install libpam-cracklib

、、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的操作。

为了强制实施密码策略,我们需要修改 /etc/pam.d 目录下的 PAM 配置文件。一旦修改,策略会马上生效。

注意:此教程中的密码策略只对非 root 用户有效,对 root 用户无效。

linux密码策略之禁止使用旧密码
找到同时有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

password [success=1 default=ignore] pam_unix.so obscure sha512 remember=5

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

password sufficient pamunix.so sha512 shadow nullok tryfirstpass useauthtok remember=5

设置最短密码长度
找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10” 的那行,它表示最小密码长度为(10 - 类型数量)。这里的 “类型数量” 表示不同的字符类型数量。PAM 提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen 设为10,那么最短的密码长度允许是6个字符。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

password requisite pam_cracklib.so retry=3 minlen=10 difok=3

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

password requisite pam_cracklib.so retry=3 difok=3 minlen=10

linux密码策略之设置密码复杂度
找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

password requisite pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1

设置密码过期期限
编辑 /etc/login.defs 文件,可以设置当前密码的有效期限,具体变量如下所示:

$ sudo vi /etc/login.defs

PASSMAXDAYS 150 PASSMINDAYS 0 PASSWARNAGE 7

这些设置要求用户每6个月改变他们的密码,并且会提前7天提醒用户密码快到期了。

如果你想为每个用户设置不同的密码期限,使用 chage 命令。下面的命令可以查看某个用户的密码限期:

$ sudo chage -l xmodulo

Last password change : Dec 30, 2013 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7

默认情况下,用户的密码永不过期。

下面的命令用于修改 xmodulo 用户的密码期限:

$ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmodulo

上面的命令将密码期限设为2014年6月3日。另外,修改密码的最短周期为5天,最长周期为90天。密码过期前14天会发送消息提醒用户,过期后帐号会被锁住30天。

<think>嗯,用户想了解如何在Linux设置密码复杂度策略。这应该是关于系统安全配置的问题。首先,我需要回忆一下Linux中管理密码复杂度的相关模块。通常,这涉及到PAM(Pluggable Authentication Modules)和libpwquality库。 首先,我应该检查libpwquality是否已经安装,因为在大多数现代Linux发行版中,比如RHEL、CentOS、Fedora,密码复杂度策略是通过这个库来管理的。如果是Debian或Ubuntu系统,可能对应的包是libpam-pwquality,但具体名称可能需要确认。 然后,用户需要编辑PAM的配置文件,通常是/etc/pam.d/system-auth或者/etc/pam.d/common-password,这取决于发行版。修改其中的password requisite行,添加相应的参数,比如minlen设置最小长度,difok控制新旧密码的不同字符数,ucredit、lcredit、dcredit、ocredit分别对应大写字母、小写字母、数字和其他字符的最小数量。 另外,用户可能需要设置密码过期策略,这可以通过/etc/login.defs文件来调整,比如PASS_MAX_DAYS、PASS_MIN_DAYS等参数。同时,chage命令也可以用来修改特定用户的密码策略。 需要注意的是,不同的Linux发行版可能在配置文件的路径和参数名称上略有差异,需要根据具体情况调整。例如,Debian系的系统可能在/etc/pam.d/common-password中进行配置,而RHEL系可能在/etc/security/pwquality.conf里直接设置参数。 此外,测试策略是否生效也是关键的一步,可以通过passwd命令尝试修改密码,输入不符合要求的密码,看系统是否会拒绝。还要提醒用户谨慎操作,修改前备份配置文件,避免因配置错误导致无法登录。 最后,可能需要提到密码策略的最佳实践,比如结合字母、数字、符号,定期更换密码,避免使用常见密码等,以增强系统安全性。</think>在Linux系统中,设置密码复杂度策略可通过以下步骤实现,主要涉及`PAM`(可插拔认证模块)和`libpwquality`库的配置: --- ### **一、安装必要组件** ```bash # RHEL/CentOS/Fedora sudo yum install libpwquality # Debian/Ubuntu sudo apt install libpam-pwquality ``` --- ### **二、配置密码复杂度规则** 修改PAM配置文件(路径因发行版而异): 1. **RHEL/CentOS/Fedora** 编辑文件`/etc/security/pwquality.conf`: ```ini minlen = 12 # 密码最小长度 minclass = 3 # 至少包含3种字符类别(大写、小写、数字、符号) dcredit = -1 # 至少1个数字 ucredit = -1 # 至少1个大写字母 lcredit = -1 # 至少1个小写字母 ocredit = -1 # 至少1个特殊符号 maxrepeat = 3 # 禁止连续重复超过3次 ``` 2. **Debian/Ubuntu** 编辑文件`/etc/pam.d/common-password`,在`password requisite pam_pwquality.so`行添加参数: ``` password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root ``` --- ### **三、设置密码过期策略** 编辑`/etc/login.defs`: ```ini PASS_MAX_DAYS 90 # 密码最长有效期90天 PASS_MIN_DAYS 7 # 修改间隔最短7天 PASS_WARN_AGE 14 # 过期前14天提醒 ``` 通过`chage`命令修改用户策略: ```bash sudo chage -M 90 -m 7 -W 14 用户名 ``` --- ### **四、验证配置** 1. 测试密码修改: ```bash sudo passwd testuser ``` 输入不符合规则的密码时,系统应拒绝并提示错误。 2. 检查当前用户策略: ```bash sudo chage -l 用户名 ``` --- ### **五、注意事项** 1. **备份配置文件**:修改前建议备份原始文件(如`cp /etc/security/pwquality.conf /etc/security/pwquality.conf.bak`)。 2. **避免过度严格**:需平衡安全性与易用性,防止用户频繁忘记密码。 3. **Root用户限制**:添加`enforce_for_root`参数确保root账户也受策略约束。 --- ### **六、扩展知识** - **字典检查**:通过`dictcheck=1`禁止使用常见字典单词。 - **历史密码**:在PAM配置中添加`remember=5`,禁止重复使用最近5次密码。 通过以上步骤,可有效提升Linux系统密码安全性。实际配置需根据具体需求调整参数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值