用户登录限制、锁定与踢出

本文以SSH为例进行PAM配置来实现相应的认证功能,其它的登录方式配置相似,详情可参考文章《PAM - 可插拔认证模块》

1、限制用户的登录(SSH)

(1)使用pam_access自定义限制规则

//新增pam_access模块认证
[[email protected] ~]# vi /etc/pam.d/sshd

#%PAM-1.0
account    requisite     pam_access.so nodefgroup accessfile=/etc/mypam/access_ssh.conf fieldsep=| listsep=,
...

//编辑accessfile(注:匹配的顺序从第一行开始)
[[email protected] ~]# vi /etc/mypam/access_ssh.conf

#允许root和组mygroup1的成员登录
+|root (mygroup1)|ALL

#拒绝root和组mygroup1的成员以外的用户登录
-|ALL EXCEPT root (mygroup1)|ALL

#拒绝指定用户从非指定的ip进行登录
-|cjh|ALL EXCEPT 120.231.146.242 

(2)使用pam_nologin限制非root用户登录

[[email protected] ~]# vi /etc/pam.d/sshd

#%PAM-1.0
...
account    required     pam_nologin.so
...

[[email protected] ~]# touch /etc/nologin

//设置非root用户登录失败的提示信息
[[email protected] ~]# vi /etc/nologin

====================The system is upgrading================= 

Please wait a minute

2、锁定多次登录失败的用户(SSH)

//新增pam_tally2模块认证,对3次尝试访问失败的用户进行锁定,普通用户锁定30秒,root用户锁定60秒
[[email protected] ~]# vi /etc/pam.d/sshd

#%PAM-1.0
...
auth       required      pam_tally2.so deny=3 unlock_time=30 even_deny_root root_unlock_time=60
...

//查看所有或指定用户的错误访问记录
[[email protected] ~]# pam_tally2
Login           Failures Latest failure     From
cjh                 1    11/19/17 19:25:25  120.230.146.242
zhangsan            2    11/19/17 19:24:24  120.230.146.242

[[email protected] ~]# pam_tally2 --user cjh
Login           Failures Latest failure     From
cjh                 1    11/19/17 19:25:25  120.230.146.242

//清空所有或指定用户的错误访问记录
[[email protected] ~]# pam_tally2 --reset

[[email protected] ~]# pam_tally2 --reset --user cjh

3、踢出在线用户

[[email protected] ~]# who
cjh         tty2         2017-11-19 14:48
root        pts/0        2017-11-19 17:46 (120.230.146.242)
zhangsan    pts/3        2017-11-19 20:24 (120.230.146.242)

[[email protected] ~]# ps -ef| grep tty2
cjh       8917  1806  0 14:48 tty2     00:00:00 -bash

//踢出用户cjh
[[email protected] ~]# kill -9 8917

[[email protected] ~]# who
root        pts/0        2017-11-19 17:46 (120.230.146.242)
zhangsan    pts/3        2017-11-19 20:24 (120.230.146.242)
时间: 2024-08-04 17:44:04

用户登录限制、锁定与踢出的相关文章

两种方法实现Linux不活动用户登录超时后自动登出

在平常的工作中,windows系统使用的比较多一些,身边的很多同事都会对自己的电脑进行一些个性化设置,比如离开一段时间后自动锁屏.自动关闭屏幕.自动注销当前登录等.在windows下可以这样操作,那么在Linux下是否也可以这样操作呢?经过一段时间的摸索,本人发现了2中方法来实现Linux下不活动用户在登录一段时间后自动登出操作,分享给大家. 方法一.通过修改.bashrc或.bash_profile文件来实现 通过修改home目录下的.bashrc或.bash_profile文件来实现.这两个

python 用户登录, 锁定。多用户

import sysimport os userf = open('login.txt')userfr = userf.readlines()useradd = []password = []unlock =[] for line in userfr:        u = line.split()[0]        p = line.split()[1]        un = line.split()[2]        useradd.append(u)        password.

Linux踢出已登录用户

1.使用w命令可以查看当前登录系统的所有用户 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - 08:05 4:29 0.09s 0.09s -bash root pts/1 192.168.1.3 08:59 0.00s 0.21s 0.00s w2.使用who am i查看自己是那一个用户 root pts/1 2016-10-06 08:59 (192.168.1.3)3.踢出用户pkill -kill -t t

我的shiro之旅: 十二 shiro 踢出用户(同一用户只能一处登录)

我的shiro之旅: 十二 shiro 踢出用户(同一用户只能一处登录) 2014年09月05日 ⁄ 综合 ⁄ 共 4677字 ⁄ 字号 小 中 大 ⁄ 评论关闭 看了一下官网,没有找到关于如何控制同一用户只能一处登录的介绍,网上也没有找到相关的文章.可能有些人会记录用户的登录信息,然后达到踢出用户的效果.这里介绍一个更简单的方法. 如果我们跟shiro的源码,我们可以看到.当用户登录成功 后,shiro会把用户名放到session的attribute中,key为 DefaultSubjectC

Linux系统下查看已经登录用户并踢出的方法

LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务. 查看用户的操作 查看当前用户: [[email protected] ROOT] # W                        2:31PM UP 11 DAY ,21:18 4 USERS, LODE AVERAGE : 0.12, 0.09 , 0.08                        USER TTY FROM [email protected] IDLE JCPU PCPU WHAT  

linux强制踢出已登录的用户及本地用户

方法一: pkill -kill -t pts/0 方法二: fuser -k /dev/pts/0 你也可以给他发送关闭信息然后关闭 echo "你被管理员踢出了" > /dev/pts/1 && fuser -k /dev/pts/1 事情是这样的,一台云主机ubuntu的默认是没有开启的root的,我用新建的用户tx登录后调整可以root登录,然后使用root登录删除tx用户 [email protected]:~# userdel tx userdel:

JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例

转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 这个稍微比上个版本做得完善了一点,用了JavaBean来封装用户信息,添加了一个管理踢用户的功能. 上一个的用户访问量是通过监听request来统计的,在这个实例中,我们也可以通过过滤器来实现统计网站访问量. 直接看源码吧,感觉没多少要讲的,我习惯把解释写在代码中. 部分源码 index.jsp: <%@ page language="java" import=&

实现用户登录并且输入错误三次后锁定该用户

我的测试环境,win7,python3.6,Pycharm社区版 提示输入用户名,和密码 判断是否被锁定 判断用户名和密码是否匹配 输入错误三次,账号被锁定 real_user = 'channel' #正确的用户名 real_passwd = 'asdf' #正确的密码 lock_user = ['tiaozhan'] #锁定账号列表 while True: user_input = input("输入用户名") passwd_input = input('your passwd:'

python之用户登录三次锁定

基于文件存储的用户登录程序(3次登录失败,锁定用户) 思路:1.login.user是存放用户id及密码的文件,也就是白名单:2.lock.user是存放被锁定的用户id的文档,默认为空,也就是黑名单:3.程序会先检查输入的用户名是否存在于黑名单中,如果有,则退出,并提示此用户被锁定,否则继续检查白名单:4.程序先对login.user里的合法用户id进行判断,若连续输入用户id错误达三次程序直接退出:4.程序最后会对输入的id,对应的密码进行判断,输入密码有3次机会,连续三次错误则会锁定用户i