<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深度VPS &#187; 单用户</title>
	<atom:link href="http://www.deepvps.com/tag/%E5%8D%95%E7%94%A8%E6%88%B7/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>真正实现限制SSH单用户登录</title>
		<link>http://www.deepvps.com/limit-a-single-user-login-ssh.html</link>
		<comments>http://www.deepvps.com/limit-a-single-user-login-ssh.html#comments</comments>
		<pubDate>Fri, 09 Apr 2010 15:35:21 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[单用户]]></category>
		<category><![CDATA[限制]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=372</guid>
		<description><![CDATA[功能： 实现root之外的用户只能登录一个ssh
使用方法： 用root权限在后台(比如screen里)运行这个脚本
#!/usr/bin/perl -w
use strict;
sub main
{
    my @lines = `ps -eo user,pid,etime,cmd &#124; 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 &#8216;root&#8217;);
            my $proc = {&#8216;pid&#8217;, $pid, &#8216;etime&#8217;, $etime, &#8216;cmd&#8217;, $cmd};
  [...]]]></description>
			<content:encoded><![CDATA[<p>功能： 实现root之外的用户只能登录一个ssh<br />
使用方法： 用root权限在后台(比如screen里)运行这个脚本<span id="more-372"></span></p>
<blockquote><p>#!/usr/bin/perl -w<br />
use strict;<br />
sub main<br />
{<br />
    my @lines = `ps -eo user,pid,etime,cmd | grep sshd`;<br />
    my $users;<br />
    for my $line (@lines) {<br />
        if(my ($user, $pid, $etime, $cmd) = $line =~ /^([^s]+)s+(d+)s+([^s]+)s+(sshd:.+)$/) {<br />
            next if($user eq &#8216;root&#8217;);<br />
            my $proc = {&#8216;pid&#8217;, $pid, &#8216;etime&#8217;, $etime, &#8216;cmd&#8217;, $cmd};<br />
            push @{$users-&gt;{$user}}, $proc;<br />
        }<br />
    }<br />
    for my $key(keys(%$users)) {<br />
         my @sshs = sort {<br />
            my ($lb, $la) = (length($b-&gt;{&#8216;etime&#8217;}), length($a-&gt;{&#8216;etime&#8217;}));<br />
            if($lb == $la) {<br />
                $b-&gt;{&#8216;etime&#8217;} cmp $a-&gt;{&#8216;etime&#8217;};<br />
            } else {<br />
                $lb &lt;=&gt; $la;<br />
            }<br />
        } @{$users-&gt;{$key}};<br />
        for (1 .. 1) { shift @sshs; };<br />
        for my $ssh (@sshs) {<br />
            kill 9, $ssh-&gt;{&#8216;pid&#8217;};<br />
        }<br />
    }<br />
}<br />
while(1) {<br />
    main;<br />
    sleep 3;<br />
}</p></blockquote>
<p>转自：<a href="http://www.hostloc.com" target="_blank">全球主机交流论坛</a>   greensnow</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/limit-a-single-user-login-ssh.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
