免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2165 | 回复: 3
打印 上一主题 下一主题

[系统管理] 求助,循环kill相同UID的进程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-02 13:43 |只看该作者 |倒序浏览
研究半天也没搞定,就来这里求助了,希望高人指点一下,谢谢。

需求:
1、查找当前sshd进程使用者,root除外,例如user6他登陆了2次,那么将后登陆(pid大的?)进程kill掉,这个脚本后台循环或者定期执行,目的就是只让除root外的用户只能有一个用户登陆
root@ubuntu:~# ps -eo user,pid,etime,cmd | grep sshd
root      4195    03:10:03 /usr/sbin/sshd -D
root      4479    03:09:53 sshd: root@pts/5,pts/4
root      5098    03:08:06 sshd: user6 [priv]  
user6     5232    03:08:05 sshd: user6         
root      5239    03:08:00 sshd: user6 [priv]  
user6     5373    03:08:00 sshd: user6         
root      5624       00:00 grep --color=auto sshd

2、例如上面的,user6登陆后pid是5232,那么第二个人再用相同的用户登陆,脚本会检测到他的多了一个user6,然后将其pid kill掉。 kill -9 5273

不知道我描述清楚没,麻烦大侠出手!万分感谢!!

论坛徽章:
0
2 [报告]
发表于 2015-01-02 14:27 |只看该作者
本帖最后由 Looiml 于 2015-01-02 14:55 编辑
  1. ps -eo user,pid,cmd|grep -P '^(?!root).*sshd'|awk 'a[$1]++{print $2}'|xargs -n1 kill -9
复制代码
哎,又看漏条件

论坛徽章:
0
3 [报告]
发表于 2015-01-02 15:52 |只看该作者
回复 2# Looiml

感谢你:)

代码可以使用,做一个crontab每个3秒执行一次还是蛮好用的,我手工测试结果如下:
root@ubuntu:~# ps -eo user,pid,etime,cmd | grep sshd
root      4195    05:07:30 /usr/sbin/sshd -D
root      4479    05:07:20 sshd: root@pts/5,pts/4
root      5850       05:41 sshd: user6 [priv]  
user6     6006       05:41 sshd: user6         
root      6873       04:13 sshd: user6 [priv]  
user6     7007       04:12 sshd: user6         
root      7023       01:05 sshd: user5 [priv]  
user5     7157       01:05 sshd: user5         
root      7293       00:48 sshd: user5 [priv]  
user5     7427       00:47 sshd: user5         
root      7434       00:00 grep --color=auto sshd
root@ubuntu:~# ps -eo user,pid,cmd|grep -P '^(?!root).*sshd'|awk 'a[$1]++{print $2}'|xargs -n1 kill -9
root@ubuntu:~# ps -eo user,pid,etime,cmd | grep sshd
root      4195    05:07:43 /usr/sbin/sshd -D
root      4479    05:07:33 sshd: root@pts/5,pts/4
root      5850       05:54 sshd: user6 [priv]  
user6     6006       05:54 sshd: user6         
root      7023       01:18 sshd: user5 [priv]  
user5     7157       01:18 sshd: user5         
root      7442       00:00 grep --color=auto sshd

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2015-01-02 20:04 |只看该作者
后登录的pid一定大?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP