linux系统上实现一个帐号只能同时SSH登录一个用户的脚本

linux系统上实现一个帐号只能同时SSH登录一个用户的脚本

作者:admin 时间:2011-04-30 分类:VPS 服务器 评论:0条 浏览:1514

本脚本可以实现VPS上使root之外的用户,同时只能登录一个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;
}

原创文章,转载请注明: 转载自www.webmaster.me

本文链接地址: linux系统上实现一个帐号只能同时SSH登录一个用户的脚本

标签:

相关推荐
更多

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*