真正实现限制SSH单用户登录的方法
2010-12-20 16:18
841 查看
使用方法: 用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; }
相关文章推荐
- AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
- Java 多用户登录限制的实现方法
- Java 多用户登录限制的实现方法
- AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
- Ajax实现用户登录验证--原生JavaScript使用POST方法
- ssh自动登录的4种实现方法
- PHP实现显示用户上一次登录时间的方法
- Linux 限制root用户远程登录-ssh
- MVC4验证用户登录特性实现方法
- jQuery基于ajax实现页面加载后检查用户登录状态的方法
- 过滤器和拦截器的比较及未登录用户权限限制的实现
- IDEA maven SSH Oracle 整合实现简易用户登录
- Asp.net项目同一个用户后登录把前面登录的踢下线的两种实现方法
- laravel5.2实现区分前后台用户登录的方法
- Linux Shell 脚本限制ssh最大用户登录数
- Linux 中无法使用 root 用户通过 SSH 远程登录解决方法
- 在 ASP.NET 中实现不同角色的用户使用不同登录界面的方法
- 在Django中限制已登录用户的访问的方法
- ThinkPHP中利用SESSION实现用户登录验证的方法
- SSH之IDEA使用maven整合实现简易用户登录