导航:首页 > 编程系统 > linuxpam认证

linuxpam认证

发布时间:2021-12-07 17:33:18

linux设置密码复杂度的文件/etc/pam.d/system-auth,具体需要怎么改

一、准备工作:

安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。

二、具体操作:

Debian、Ubuntu 或 Linux Mint 系统上:

代码如下:


$ sudo apt-get install libpam-cracklib


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

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

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

策略设置:

1、禁止使用旧密码

找到同时有 “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

三、设置密码复杂度

找到同时有 “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 xmolo
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


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

五、下面的命令用于修改 xmolo 用户的密码期限:

代码如下:

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

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

设置完后,验证效果如下:

❷ Linux:PAM认证文件有什么用

pam认证,建议你多做做有关认证方面的实验,就能明白了。比如vsftpd虚拟用户,就是基于pam认证的……

❸ Linux etc/pam.d/login文件是什么意思

pam用来验证登陆用的配置文件
每次登陆系统的时候或者更改密码的时候都要先经过
pam验证,验证的规则就是在这里面定义的,如果符合才让你登陆。

❹ linux中的PAM到底是什么 如何使用配置呢 麻烦说的通俗点

简单地说,PAM主要是由一组共享库文件(也就是后缀名为.so文件)和一些配置文件组成的用于系统服务授权的一套东西,其中,PAM 就是 Pluggable Authentication Moles 这几个英文单词的缩写。当你在请求服务的时候,具有PAM认证功能的应用程序将与这些.so文件进行交互,以便得知是否可以授权给发起请求的用户来使用服务,比如su, vsftp, httpd,等。如果认证成功了,那么这个用户便可以使用服务或完成命令,如果认证失败了,那么这个用户将不能使用服务,同时,PAM将向指定的log文件写入警告信息。我们可以将PAM看作是一个中间裁判,它不依赖于任何应用或服务。你完全可以升级这些应用或服务而不必管PAM的共享库的更新或升级,反之亦然。所以它非常的灵活。

❺ 利用linux pam实现安全验证与管理

大家都知道现在很多电脑软件都有限制用户登陆失败次数的限制,Linux也是如此,当你登录失败多次后就可以限制用户登录,从而起到保护电脑安全的作用,通过PAM模块即可实现,下面随我一起来了解下吧。 Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。 编译PAM的配置文件# vim /etc/pam.d/login #%PAM-1.0 auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10 auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so auth include system-auth account required pam_nologin.so account include system-auth password include system-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session optional pam_keyinit.so force revoke session required pam_loginuid.so session include system-auth session optional pam_console.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open 各参数解释 even_deny_root 也限制root用户; deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒; root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒; 此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。 在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的! 最终效果如下图 这个只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改SSHD文件# vim /etc/pam.d/sshd #%PAM-1.0 auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10 auth include system-auth account required pam_nologin.so account include system-auth password include system-auth session optional pam_keyinit.so force revoke session include system-auth session required pam_loginuid.so 同样是增加在第2行! 查看用户登录失败的次数 [root@node100 pam.d]# pam_tally2 --user RedHat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1 解锁指定用户 [root@node100 pam.d]# pam_tally2 -r -u redhat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1 这个远程ssh的时候,没有提示,我用的是Xshell,不知道其它终端有没提示,只要超过设定的值,输入正确的密码也是登陆不了的! 上面就是Linux通过PAM模块限制用户登录次数的方法,最好设置下,以免别人用工具破解你的电脑,窃取你的隐私信息。

❻ Linux的PAM认证问题。标准的PAM应用程序怎样将用户名和明文的密码传给PAM服务模块

自己也写了一个pam认证模块,用函数pam_get_authtok可以获取到登录用户输入的明文口令。

❼ 系统之家Linux如何通过PAM限制用户登录失败次数怎么办

现在很多地方都有限制用户登录的功能,Linux也是如此,当你登录失败多次后就可以限制用户登录,从而起到保护电脑安全的作用,通过PAM模块即可实现,下面随小编一起来了解下吧。
Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。
编译PAM的配置文件#
vim
/etc/pam.d/login
#%PAM-1.0
auth
required
pam_tally2.so
deny=3
lock_time=300
even_deny_root
root_unlock_time=10
auth
[user_unknown=ignore
success=ok
ignoreignore=ignore
default=bad]
pam_securetty.so
auth
include
system-auth
account
required
pam_nologin.so
account
include
system-auth
password
include
system-auth
#
pam_selinux.so
close
should
be
the
first
session
rule
session
required
pam_selinux.so
close
session
optional
pam_keyinit.so
force
revoke
session
required
pam_loginuid.so
session
include
system-auth
session
optional
pam_console.so
#
pam_selinux.so
open
should
only
be
followed
by
sessions
to
be
executed
in
the
user
context
session
required
pam_selinux.so
open
各参数解释
even_deny_root
也限制root用户;
deny
设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time
设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time
设定root用户锁定后,多少时间后解锁,单位是秒;
此处使用的是
pam_tally2
模块,如果不支持
pam_tally2
可以使用
pam_tally
模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!

❽ Linux PAM的system-auth只能对非root用户生效,那么如何对root密码做强度限制呢

chage:密码失效是通过此命令来管理的。
参数意思:
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

例1
[root@localhost ~]# chage -l zhangy #查看用户密码设定情况
最近一次密码修改时间 : 4月 27, 2013
密码过期时间 : 从不
密码失效时间 : 从不
帐户过期时间 : 从不
两次改变密码之间相距的最小天数 :-1
两次改变密码之间相距的最大天数 :-1
在密码过期之前警告的天数 :-1

[root@localhost ~]# chage -M 90 zhangy #密码有效期90天

[root@localhost ~]# chage -d 0 zhangy #强制用户登陆时修改口令

[root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 zhangy #强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示

例2

# chage -E '2014-09-30' test # test这个账号的有效期是2014-09-30

( 参考http://linux.51yip.com/search/chage)

❾ linux下使用pam密码策略 怎么实现不让使用前3次旧密码

不知道你是那个发行版。
首先你的电脑要安装pam_unix2.so模块(一般默认都安装了)
Redhat/Fedora/CentOS 系列的linux 编辑专 /etc/pam.d/system-auth
Debian/Ubentu/Suse 系列的linux 编辑 /etc/pam.d/common-auth把含有属 pam_unix.so的这行编辑成:
password sufficient pam_unix.so use_authtok md5 shadow remember=3(默认的是13)
还有就是要创建一个旧密码记录文件/etc/security/opasswd,以及设置密码生命周期

❿ linux 虚拟用户auth required pam_userdb.so db=/etc/

require等于import,那个so是一个文件,最后一句是把路径指定给db这个变量

阅读全文

与linuxpam认证相关的资料

热点内容
word把数字变斜 浏览:372
小米6忘记锁屏密码怎么办啊 浏览:462
北京白领都用什么社交app 浏览:518
政法app哪个好用 浏览:514
房产平台如何推广新网站 浏览:701
u盘导文件总是中断 浏览:995
下载的招标文件打不开是为什么 浏览:356
都市美艳后宫 浏览:435
十部顶级古埃及电影 浏览:107
linux用户读写权限 浏览:936
少侠十七妻全文阅读 浏览:422
公主奴 浏览:856
k9d3 浏览:182
分卷阅读 玩武警少尉 浏览:44
知乎写小说入口 浏览:772
美国农场爱情片 浏览:709
主角一开始就长生不老 浏览:338
mike文件内容和输入不匹配 浏览:499
plsql怎么连接数据库连接 浏览:951
大黄文 浏览:213

友情链接