最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)

 更新時(shí)間:2014年07月05日 11:24:20   投稿:junjie  
這篇文章主要介紹了perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù),腳本支持支持白名單設(shè)置,例如root可以不限制登錄次數(shù),需要的朋友可以參考下

ssh limit perl腳本主要作用:
1.限制一個(gè)ssh用戶的最大登錄數(shù)為n,n可自定義。
2.支持白名單,如root、test登錄不受限制。

如果一個(gè)ssh用戶的最大登錄數(shù)超過指定數(shù)字,則后登錄的會(huì)把先前登錄的踢掉,以此達(dá)到控制登錄數(shù)的目的。

該腳本需要主機(jī)支持perl,如果沒有,可yum安裝。

腳本源碼:

#!/usr/bin/perl -w
use strict;
#white list
my @ALLOW_USERS = qw{
  test
  root
  lulu1
};
#the maximum number of ssh login
my $LOGIN_TIMES = 1;
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 grep {$user eq $_} @ALLOW_USERS;
      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}};
    $LOGIN_TIMES = 1 if $LOGIN_TIMES < 1;
    for (1 .. $LOGIN_TIMES) { pop @sshs; };
    for my $ssh (@sshs) {
      kill 9, $ssh->{'pid'};
    }
  }
}
while(1) {
  main;
  sleep 3;
}


【使用方法】

另存腳本存到root目錄,命名為limit.pl,然后執(zhí)行:

echo "/root/limit.pl &" >> /etc/rc.d/rc.local (加入開機(jī)啟動(dòng))
/root/limit.pl & (運(yùn)行腳本)

相關(guān)文章

最新評論

图们市| 青州市| 启东市| 凯里市| 剑河县| 清水县| 彭阳县| 阿坝| 大同县| 东光县| 北安市| 宁安市| 唐海县| 华阴市| 南澳县| 沅陵县| 长兴县| 闻喜县| 皋兰县| 桑日县| 偃师市| 宜兰市| 喜德县| 克什克腾旗| 临安市| 紫云| 遂平县| 榆社县| 信宜市| 金寨县| 历史| 枣庄市| 科技| 大姚县| 博客| 嘉兴市| 泸溪县| 丘北县| 嘉义市| 西丰县| 福州市|