pam模块设置口令策略 对本地和远程均适用,如 ssh 该如何写
时间: 2024-09-13 08:07:55 浏览: 70
PAM(Pluggable Authentication Modules)是Linux系统中用于实现认证的一套框架。通过配置PAM模块,可以设定包括口令策略在内的多种安全策略。要设置口令策略以适用于本地和远程登录,如SSH,你需要编辑PAM配置文件,通常这些配置文件位于`/etc/pam.d/`目录下。
以设置密码复杂度为例,你可以修改`/etc/pam.d/common-password`文件(在Debian系列系统中),或`/etc/pam.d/system-auth`(在Red Hat系列系统中),添加或修改如下行:
```
password requisite pam_pwquality.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1
```
这条规则的含义如下:
- `requisite`:表示如果此模块失败,则立即返回失败。
- `pam_pwquality.so`:调用的模块是`pam_pwquality.so`,这个模块用于增强密码策略。
- `retry=3`:用户在设置密码时,如果不符合策略,会有三次重试机会。
- `minlen=8`:密码最小长度为8个字符。
- `difok=3`:新密码至少要有3个字符不同于旧密码。
- `ucredit=-1`:密码必须至少包含一个大写字母。
- `lcredit=-1`:密码必须至少包含一个小写字母。
- `dcredit=-1`:密码必须至少包含一个数字。
对于SSH,还需要配置`/etc/pam.d/sshd`文件(如果你需要针对SSH服务进行特殊配置的话)。通常,SSHD会引用`/etc/pam.d/common-password`或`/etc/pam.d/system-auth`中的设置,所以不需要额外在`sshd`文件中设置密码策略。
请注意,修改PAM配置文件是一个敏感操作,应谨慎进行。任何错误的配置都可能导致系统认证功能出现问题,甚至使系统无法登录。
阅读全文