全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2126|回复: 11
打印 上一主题 下一主题

[经验] SSH限制多人登录

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-13 01:01:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么让第一个登录后 第2个SSH用户登录的时候第一个退出?可RMB求代码

这个代码是第一个登录后第2个无法登录 有时候用户卡死在里面就麻烦了
  1. #!/usr/bin/perl -w
  2. use strict;
  3. sub main
  4. {
  5.     my @lines = `ps -eo user,pid,etime,cmd | grep sshd`;
  6.     my $users;
  7.     for my $line (@lines) {
  8.         if(my ($user, $pid, $etime, $cmd) = $line =~ /^([^\s]+)\s+(\d+)\s+([^\s]+)\s+(sshd:.+)$/) {
  9.             next if($user eq 'root');
  10.             my $proc = {'pid', $pid, 'etime', $etime, 'cmd', $cmd};
  11.             push @{$users->{$user}}, $proc;
  12.         }
  13.     }
  14.     for my $key(keys(%$users)) {
  15.          my @sshs = sort {
  16.             my ($lb, $la) = (length($b->{'etime'}), length($a->{'etime'}));
  17.             if($lb == $la) {
  18.                 $b->{'etime'} cmp $a->{'etime'};
  19.             } else {
  20.                 $lb <=> $la;
  21.             }
  22.         } @{$users->{$key}};
  23.         for (1 .. 2) {
  24.                 shift @sshs;
  25.         };
  26.         for my $ssh (@sshs) {
  27.             kill 9, $ssh->{'pid'};
  28.         }
  29.     }
  30. }
  31. while(1) {
  32.     main;
  33.     sleep 3;
  34. }
复制代码
2#
发表于 2010-12-13 01:02:24 | 只看该作者
这样的SSH有什么用?
3#
 楼主| 发表于 2010-12-13 01:04:45 | 只看该作者

回复 2# 的帖子

翻XX用的
4#
发表于 2010-12-13 01:07:18 | 只看该作者
原帖由 easyboy 于 2010-12-13 01:04 发表
翻XX用的

那要是每秒有1个人登陆怎么办?
5#
 楼主| 发表于 2010-12-13 01:07:52 | 只看该作者

回复 4# 的帖子

针对帐号的啊
6#
发表于 2010-12-13 01:21:53 | 只看该作者
这样的SSH有什么用?
7#
发表于 2010-12-13 03:53:00 | 只看该作者
free ssh
8#
发表于 2010-12-13 10:15:50 | 只看该作者
只需把
for (1 .. 2) {
        shift @sshs;
};
改成pop @sshs;

评分

参与人数 1威望 +5 收起 理由
easyboy + 5 我试试 谢谢啦

查看全部评分

9#
发表于 2010-12-13 10:17:32 | 只看该作者
perl不懂
10#
发表于 2010-12-13 10:19:32 | 只看该作者
原帖由 greensnow 于 2010-12-13 10:15 发表
只需把
for (1 .. 2) {
        shift @sshs;
};
改成pop @sshs;

楼主这段代码是用放在哪儿的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-30 11:35 , Processed in 0.065918 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表