linux更改密码策略_hpunix设置用户密码策略

linux更改密码策略_hpunix设置用户密码策略如何设置 Linux 系统的密码策略

大家好,又见面了,我是你们的朋友全栈君。

虽然 Linux 的设计是安全的,但还是存在许多安全漏洞的风险,弱密码就是其中之一。作为系统管理员,你必须为用户提供一个强密码。因为大部分的系统漏洞就是由于弱密码而引发的。本教程描述了在基于 DEB 系统的 Linux,比如 Debian、Ubuntu、Linux Mint 等和基于 RPM 系统的 Linux,比如 RHEL、CentOS、Scientific Linux 等的系统下设置像密码长度密码复杂度密码有效期等密码策略。

在基于 DEB 的系统中设置密码长度

默认情况下,所有的 Linux 操作系统要求用户密码长度最少 6 个字符。我强烈建议不要低于这个限制。并且不要使用你的真实名称、父母、配偶、孩子的名字,或者你的生日作为密码。即便是一个黑客新手,也可以很快地破解这类密码。一个好的密码必须是至少 6 个字符,并且包含数字、大写字母和特殊符号。

通常地,在基于 DEB 的操作系统中,密码和身份认证相关的配置文件被存储在 /etc/pam.d/ 目录中。

设置最小密码长度,编辑 /etc/pam.d/common-password 文件;

$ sudo nano /etc/pam.d/common-password
复制代码

找到下面这行:

password [success=2 default=ignore] pam_unix.so obscure sha512
复制代码

在末尾添加额外的文字:minlen=8。在这里我设置的最小密码长度为 8

password [success=2 default=ignore] pam_unix.so obscure sha512 minlen=8
复制代码

保存并关闭该文件。这样一来,用户现在不能设置小于 8 个字符的密码。

在基于 RPM 的系统中设置密码长度

在 RHEL、CentOS、Scientific Linux 7.x 系统中, 以 root 身份执行下面的命令来设置密码长度。

# authconfig --passminlen=8 --update
复制代码

查看最小密码长度,执行:

# grep "^minlen" /etc/security/pwquality.conf
复制代码

输出样例:

minlen = 8
复制代码

在 RHEL、CentOS、Scientific Linux 6.x 系统中,编辑 /etc/pam.d/system-auth 文件:

# nano /etc/pam.d/system-auth
复制代码

找到下面这行并在该行末尾添加:

password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8
复制代码

如上设置中,最小密码长度是 8 个字符。

在基于 DEB 的系统中设置密码复杂度

此设置会强制要求密码中应该包含多少类型,比如大写字母、小写字母和其他字符。

首先,用下面命令安装密码质量检测库:

$ sudo apt-get install libpam-pwquality
复制代码

之后,编辑 /etc/pam.d/common-password 文件:

$ sudo nano /etc/pam.d/common-password
复制代码

为了设置密码中至少有一个大写字母,则在下面这行的末尾添加文字 ucredit=-1

password requisite pam_pwquality.so retry=3 ucredit=-1
复制代码

设置密码中至少有一个小写字母,如下所示。

password requisite pam_pwquality.so retry=3 dcredit=-1
复制代码

设置密码中至少含有其他字符,如下所示。

password requisite pam_pwquality.so retry=3 ocredit=-1
复制代码

正如你在上面样例中看到的一样,我们设置了密码中至少含有一个大写字母、一个小写字母和一个特殊字符。你可以设置被最大允许的任意数量的大写字母、小写字母和特殊字符。

你还可以设置密码中被允许的字符类的最大或最小数量。

下面的例子展示了设置一个新密码中被要求的字符类的最小数量:

password requisite pam_pwquality.so retry=3 minclass=2
复制代码

在基于 RPM 的系统中设置密码复杂度

在 RHEL 7.x / CentOS 7.x / Scientific Linux 7.x 中:

设置密码中至少有一个小写字母,执行:

# authconfig --enablereqlower --update
复制代码

查看该设置,执行:

# grep "^lcredit" /etc/security/pwquality.conf
复制代码

输出样例:

lcredit = -1
复制代码

类似地,使用以下命令去设置密码中至少有一个大写字母:

# authconfig --enablerequpper --update
复制代码

查看该设置:

# grep "^ucredit" /etc/security/pwquality.conf
复制代码

输出样例:

ucredit = -1
复制代码

设置密码中至少有一个数字,执行:

# authconfig --enablereqdigit --update
复制代码

查看该设置,执行:

# grep "^dcredit" /etc/security/pwquality.conf
复制代码

输出样例:

dcredit = -1
复制代码

设置密码中至少含有一个其他字符,执行:

# authconfig --enablereqother --update
复制代码

查看该设置,执行:

# grep "^ocredit" /etc/security/pwquality.conf
复制代码

输出样例:

ocredit = -1
复制代码

RHEL 6.x / CentOS 6.x / Scientific Linux 6.x systems 中,以 root 身份编辑 /etc/pam.d/system-auth 文件:

# nano /etc/pam.d/system-auth
复制代码

找到下面这行并且在该行末尾添加:

password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
复制代码

如上设置中,密码必须要至少包含 8 个字符。另外,密码必须至少包含一个大写字母、一个小写字母、一个数字和一个其他字符。

在基于 DEB 的系统中设置密码有效期

现在,我们将要设置下面的策略。

  1. 密码被使用的最长天数。
  2. 密码更改允许的最小间隔天数。
  3. 密码到期之前发出警告的天数。

设置这些策略,编辑:

$ sudo nano /etc/login.defs
复制代码

在你的每个需求后设置值。

PASS_MAX_DAYS 100
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
复制代码

正如你在上面样例中看到的一样,用户应该每 100 天修改一次密码,并且密码到期之前的 7 天开始出现警告信息。

请注意,这些设置将会在新创建的用户中有效。

为已存在的用户设置修改密码的最大间隔天数,你必须要运行下面的命令:

$ sudo chage -M <days> <username>
复制代码

设置修改密码的最小间隔天数,执行:

$ sudo chage -m <days> <username>
复制代码

设置密码到期之前的警告,执行:

$ sudo chage -W <days> <username>
复制代码

显示已存在用户的密码,执行:

$ sudo chage -l sk
复制代码

这里,sk 是我的用户名。

输出样例:

Last password change : Feb 24, 2017
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
复制代码

正如你在上面看到的输出一样,该密码是无限期的。

修改已存在用户的密码有效期,

$ sudo chage -E 24/06/2018 -m 5 -M 90 -I 10 -W 10 sk
复制代码

上面的命令将会设置用户 sk 的密码期限是 24/06/2018。并且修改密码的最小间隔时间为 5 天,最大间隔时间为 90 天。用户账号将会在 10 天后被自动锁定,而且在到期之前的 10 天前显示警告信息。

在基于 RPM 的系统中设置密码效期

这点和基于 DEB 的系统是相同的。

在基于 DEB 的系统中禁止使用近期使用过的密码

你可以限制用户去设置一个已经使用过的密码。通俗的讲,就是说用户不能再次使用相同的密码。

为设置这一点,编辑 /etc/pam.d/common-password 文件:

$ sudo nano /etc/pam.d/common-password
复制代码

找到下面这行并且在末尾添加文字 remember=5

password        [success=2 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
复制代码

上面的策略将会阻止用户去使用最近使用过的 5 个密码。

在基于 RPM 的系统中禁止使用近期使用过的密码

这点对于 RHEL 6.x 和 RHEL 7.x 和它们的衍生系统 CentOS、Scientific Linux 是相同的。

以 root 身份编辑 /etc/pam.d/system-auth 文件,

# vi /etc/pam.d/system-auth
复制代码

找到下面这行,并且在末尾添加文字 remember=5

password     sufficient     pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
复制代码

现在你了解了 Linux 中的密码策略,以及如何在基于 DEB 和 RPM 的系统中设置不同的密码策略。

就这样,我很快会在这里发表另外一天有趣而且有用的文章。在此之前请保持关注。如果您觉得本教程对你有帮助,请在您的社交,专业网络上分享并支持我们。


via: www.ostechnix.com/how-to-set-…

作者:SK 选题:lujun9972 译者:liujing97 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106850.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm配置python环境_pycharm环境配置教程

    pycharm配置python环境_pycharm环境配置教程以Windows版演示操作:一、首先安装pycharm1、首先从网站下载pycharm:点击打开链接(链接为:http://www.jetbrains.com/pycharm/download/#section=windows),进入后如下图,根据自己电脑的操作系统进行选择,对于windows系统选择图中红色圈中的区域。选择社区版(免费试用),专业版需要收费。2、下载完成之后如下图:3、直接双击下载好的exe文件进行安装,安装截图如下:4、记得修改安装路径,我..

  • C语言小项目——计时器(倒计时+报警提示)「建议收藏」

    大家对计时器应该不陌生,我们在制定一个计划时,经常喜欢设置一个倒计时来规定完成时限,等计时结束,它还会报警提示,今天,我就用C语言编写一个简易的倒计时计时器。

  • AD域安装

    AD域安装https://www.cnblogs.com/BugBrother/p/6760504.html

  • kafka教程_scala为什么用的很少

    kafka教程_scala为什么用的很少kafka教程第1章 Kafka概述1.1定义1.2消息队列1.2.1传统消息队列的应用场景消息队列的好处1.2.2消息队列的两种模式1.3什么是Kafka1.4Kafka架构1.5kafka名词解释1.6消息格式第2章Kafka集群部署2.1环境准备2.1.1集群规划2.1.2jar包下载2.2Kafka集群部署2.3Kafka命令行操作1)查看topic2)创建topic3)删除topic4)发送消息5)消费消息第3章Kafka工作流程分析3.1kafka工作流程及文件存

    2022年10月17日
  • linux目录结构详解_linux系统配置文件目录

    linux目录结构详解_linux系统配置文件目录前言平常linux系统用的也不少,那么linux下的每个目录都是用来干什么的,小伙伴们有仔细研究过吗?让我们来了解下吧Linux系统目录结构登录系统后,在当前命令窗口下输入命令:[root@

  • docker镜像的导出与导入「建议收藏」

    docker镜像的导出与导入「建议收藏」内网干活的忧桑大概就是偷点懒,使用docker镜像,dockerfile中使用的镜像内网中却没法down下来,so….找个外网机,先把需要的镜像下载下来,再将下载好的镜像载入到内网机。通过查资料,docker镜像的导入导出命令有save,load,export,import;其中save保存的是镜像,load加载的是镜像包(不能对镜像重命名);export保存的是容器,import载入的是容器包,可以为镜像指定新名称。同时,export导出的文件再…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号