大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
锁用户的设定
我们提供的服务有:成都做网站、成都网站建设、微信公众号开发、网站优化、网站认证、汉源ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汉源网站制作公司
/etc/pam.d/下包含各种认证程序或服务的配置文件。编辑这些可限制认证失败次数,当失败次数超过指定值时用户会被锁住。
在此,以run
level为3的时候,多次登录登录失败即锁用户为例:
在/etc/pam.d/login文件中追加如下两行:
auth
required
/lib/security/pam_tally.so
onerr=fail
no_magic_root
account
required
/lib/security/pam_tally.so
deny=3
no_magic_root
reset
deny=3
设置登录失败3次就将用户锁住,该值可任意设定。
如下为全文见设定例:
auth
required
pam_securetty.so
auth
required
pam_stack.so
service=system-auth
auth
required
pam_nologin.so
auth
required
pam_tally.so
onerr=fail
no_magic_root
account
required
pam_stack.so
service=system-auth
account
required
pam_tally.so
deny=3
no_magic_root
reset
password
required
pam_stack.so
service=system-auth
session
required
pam_stack.so
service=system-auth
session
optional
pam_console.so
这样当用户在run
level=3的情况下登录时,/var/log/faillog会自动生成,裏面记录用户登录失败次数等信息。
可用"faillog
-u
用户名"命令来查看。
当用户登录成功时,以前的登录失败信息会重置。
2)用户的解锁
用户因多次登录失败而被锁的情况下,可用faillog命令来解锁。具体如下:
faillog
-u
用户名
-r
此命令实行后,faillog里记录的失败信息即被重置,用户又可用了。
关於faillog的其他命令。。参见man
failog。
二:手动锁定用户禁止使用
可以用usermod命令来锁定用户密码,使密码无效,该用户名将不能使用。
如:
usermod
-L
用户名
解锁命令:usermod
-U
用户名
......
要想强制用户下次登录更改密码就使用chage
-d
username
强制把上次更改密码的日期归零.
定义用户密码变更天数在/etc/shadow
这个文件中定义
对新建的用户在/etc/login.defs这个文件中定义
pam_tally2模块(方法一)
用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。
配置
使用 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth 配置文件来配置的登录尝试的访问
注意:
auth要放到第二行,不然会导致用户超过3次后也可登录。
如果对root也适用在auth后添加 even_deny_root .
auth required pam_tally2.so deny=3 even_deny_root unlock_time=600
pam_tally2命令
查看用户登录失败的信息
解锁用户
pam_faillock 模块(方法二)
在红帽企业版 Linux 6 中, pam_faillock PAM 模块允许系统管理员锁定在指定次数内登录尝试失败的用户账户。限制用户登录尝试的次数主要是作为一个安全措施,旨在防止可能针对获取用户的账户密码的暴力破解
通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中
配置
添加以下命令行到 /etc/pam.d/system-auth 文件和 /etc/pam.d/password-auth 文件中的对应区段:
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3
account required pam_faillock.so
注意:
auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。
适用于root在 pam_faillock 条目里添加 even_deny_root 选项
faillock命令
查看每个用户的尝试失败次数
$ faillock
test:
When Type Source Valid
2017-06-20 14:29:05 RHOST 192.168.56.1 V
2017-06-20 14:29:14 RHOST 192.168.56.1 V
2017-06-20 14:29:17 RHOST 192.168.56.1 V
解锁一个用户的账户
passwd 用户名:添加 / 修改用户密码。(所有人都可以通过该命令修改自己的密码,root 可以修改所有人密码)。
-l:锁住该账号,在/etc/shadow 中存放密码的位置加上 !号。(仅 root 用户可以设置)。
-u:解锁。(仅 root 用户可以设置)。
-S:显示账号的密码参数。(仅 root 用户可以设置)
-d:清空密码(仅 root 用户可以设置)。
-n:输入天数,设置多久可以不修改密码。(仅 root 用户可以设置)
-x:输入天数,设置多久内必须修改密码。(仅 root 用户可以设置)
-w:输入天数,设置密码过期前警告天数。(仅 root 用户可以设置)
-i:输入天数,设置密码失效天数。(仅 root 用户可以设置)
1、passwd 用户名:添加 / 修改用户密码。
root 用户为 user9 用户创建初始密码:123。此时会有 BAD PASSWORD 密码过于简单的提示。由于 root 的权限最大,它可以无视密码设置规则。
Xshell 新建一个账户 user9,登录账户 user9,密码123进入系统。
user9 用户登录系统后,修改密码。
普通用户为自己修改密码,只需登录系统后输入 passwd 命令就可以进行密码修改。首先,输入原密码。然后,输入一次新密码,再重新输入一次新密码。系统检验两次新密码一致就会修改成功。此处新密码:torres999。小写字母+数字的 9 位密码。
需要注意的是,普通用户修改密码不能像 root ,root可以随意设置密码,就算密码过于简单也可以设置成功。普通用户设置密码,要遵循密码规范。但是普通用户的密码往往收到一定的规则限制,导致修改密码时经常会遇到以下报错:
无效的密码:密码字典检查失败 - 这太简单化了。纯数字输入密码,例如:01234567、12345678、87654321、76543210。往往会给出过于简单的提示。
无效的密码: 密码少于 8 个字符。输入的密码位数不足8位,提示不符合密码长度的要求。
无效的密码: 密码包含用户名在某些地方。如:用户名是 user9,输入的密码包含 user 字符,会被提示密码含有用户名的提示。
无效的密码: 与旧密码过于相似。如:曾经使用 apple999 的密码。重新设置密码输入,apple888、applehello、appleteam,含有apple单词的新密码会被检测与旧密码过于相似。
所以,普通用户修改密码要遵从密码规则。建议通过大小写、特殊字符 和 数字组成大于8位的密码组合。
-l:锁住该账号,在/etc/shadow 中存放密码的位置加上 !号。
-u:解锁。
例:
1、首先,用 root 用户为 user9 普通用户设置 123 的密码。
2、Xshell 新建一个连接 user9 ,输入用户名 user9 和密码 123 可以登录。
3、root 用 passwd -l 锁住了 user9 。
查看 /etc/shadow 文件,可以看到 user9 用户密码栏前面加上了 !感叹号,意思就是上锁的意思。
4、重新再登录 user9 用户,在输入密码 123 后,系统提示 ‘服务器拒绝了密码’,不能登录。
5、root 用户用 passwd -u 解锁 user9 。
6、解锁后的 user9 能够登录系统。
查看 /etc/shadow 文件,可以看到 user9 用户密码栏前面没有了 !感叹号,意思就是密码状态正常,可以登录。
tips:锁住用户 和 解锁用户,只有 root 有权限操作,普通用户没有权限做此操作。
-S:显示账号的密码参数。
例:
1、红色 user9:用户名。
2、黄色 PS:密码设置。(LK = 密码锁定,NP = 无密码)。
3、蓝色 2021-05-17:上次修改密码的时间。
4、绿色 0:密码修改间隔的时间(0 随时修改)。
5、白色 99999:密码有效期。
6、红色 7:临近密码过期前7天开始向用户发出警告。
7、黄色 -1:密码失效设置(-1 不失效)。
8、蓝色 Password set, SHA512 crypt:已使用密码。
passwd -l 锁定密码的用户 passwd -S 可以通过两个参数查看到情况 。
1、黄色 LK:密码锁定。
2、蓝色 Password locked:提示用户密码已被锁。
passwd -d 清空密码。模仿用户没有密码的情况。通过 passwd -S 两个参数查看到情况 。(清空密码后,需要 root 为普通用户重设密码才能正式登陆系统。)
1、黄色 NP:无密码,密码为空。
2、蓝色 Empty password:提示需要设置密码。
-n:输入天数,设置多久不能修改密码。
例:
1、红色下划线:首先 passwd -S 查看 user9 用户的密码信息。此时可修改密码参数是 0 ,即随时可以修改密码。
2、黄色下划线:passwd -n 10 设置 user9 用户10天内不能修改密码。设置完成后 passwd -S 可修改密码参数改为了 10。
3、蓝色下划线:登录 user9 账户。user9 修改 passwd 修改密码。系统提示 You must wait longer to change your password(你必须等待更长时间才能更改密码)。此时,user9 如需立即修改密码,必须通过 root 重新设置可修改密码参数为 0 。
-x:输入天数,设置多久内必须修改密码。
例:
1、红色下划线:首先 passwd -S 查看 user9 用户的密码信息。此时密码可用最大参数是 99999。
2、黄色下划线:passwd -x 10 设置 user9 密码可用最大参数为 10。设置完成后 passwd -S 密码可用最大参数改为了 10。即 10 天后强制修改密码。
-w:输入天数,设置密码过期前警告天数。
例:
1、红色下划线:首先 passwd -S 查看 user9 用户的密码信息。此时密码过期前警告天数是 7。
2、黄色下划线:passwd -w 2 设置 user9 密码过期前警告天数为 2。设置完成后 passwd -S 密码过期前警告天数改为了 2。即 密码过期前 2 天系统会发出警告,提示用户需要修改密码。
-i:输入天数,设置密码失效天数。如果一个密码已过期至失效的天数,那么此帐号将不可用。
例:
1、红色下划线:首先 passwd -S 查看 user9 用户的密码信息。此时密码失效天数是 -1(密码不失效)。
2、黄色下划线:passwd -i 2 设置 user9 密码失效天数为 2。设置完成后 passwd -S 密码失效天数改为了 2。即 密码过期后 2 天此帐号将不可用。