真正实现限制SSH单用户登录的方法


使用方法: 用root权限在后台(比如screen里)运行这个脚本

复制代码
代码如下:

#!/usr/bin/perl -w
use strict;
sub main
{
my @lines = `ps -eo user,pid,etime,cmd | grep sshd`;
my $users;
for my $line (@lines) {
if(my ($user, $pid, $etime, $cmd) = $line =~ /^([^s]+)s+(d+)s+([^s]+)s+(sshd:.+)$/) {
next if($user eq ‘root’);
my $proc = {‘pid’, $pid, ‘etime’, $etime, ‘cmd’, $cmd};
push @{$users->{$user}}, $proc;
}
}
for my $key(keys(%$users)) {
my @sshs = sort {
my ($lb, $la) = (length($b->{‘etime’}), length($a->{‘etime’}));
if($lb == $la) {
$b->{‘etime’} cmp $a->{‘etime’};
} else {
$lb <=> $la;
}
} @{$users->{$key}};
for (1 .. 1) { shift @sshs; };
for my $ssh (@sshs) {
kill 9, $ssh->{‘pid’};
}
}
}
while(1) {
main;
sleep 3;
}



相关阅读:
mssql insert into 和insert into select性能比较
让Windows7更加安全的系统安全设置
Windows7显示桌面方法汇总
加强企业Linux系统安全的若干方法
javascript 进度条的几种方法
兼容ie ff div 层 打开+关闭+ 拖动+遮罩+移动+动画改变高宽
卸载Vista安装WinXP系统开启AHCI模式
Unison:Linux下的文件同步工具
PHP 高手之路(一)
jquery 跨域访问问题解决方法(笔记)
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
企业级数据仓库取代数据集市
在线短消息收发的程序,不用数据库
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
快速导航

Copyright © 2016 phpStudy |