LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 769|回复: 7

限制一个用多次登陆

[复制链接]
发表于 2004-11-17 16:10:22 | 显示全部楼层 |阅读模式
一个用户可以同时多次telnet到服务器,请问怎么样控制他只能用一个终端呢?谢谢
 楼主| 发表于 2004-11-17 17:06:53 | 显示全部楼层
---------------------------------------------------------
[root@server3 yzy]# who
root     tty1         Nov 17 15:30
root     pts/0        Nov 17 15:31 (:0.0)
qjw      pts/1        Nov 17 15:31 (192.168.0.125)
qjw      pts/2        Nov 17 15:32 (192.168.0.125)
xxd      pts/3        Nov 17 15:32 (192.168.0.50)
pzw      pts/4        Nov 17 15:34 (192.168.0.112)
zcy      pts/6        Nov 17 15:42 (192.168.0.66)
zcy      pts/7        Nov 17 15:42 (192.168.0.66)
xyy      pts/8        Nov 17 15:44 (192.168.0.74)
yzr      pts/9        Nov 17 15:46 (192.168.0.93)
yzr      pts/10       Nov 17 15:47 (192.168.0.93)
xw       pts/5        Nov 17 16:13 (192.168.0.22)
yzy      pts/11       Nov 17 16:17 (192.168.0.27)
wyq      pts/12       Nov 17 16:19 (192.168.0.131)
liwei    pts/13       Nov 17 16:28 (192.168.0.121)
xxd      pts/14       Nov 17 16:54 (192.168.0.50)
--------------------------------------------------------
让上面的登陆用户只用一个终端来登陆,怎么实现呢?
发表于 2004-11-17 17:34:12 | 显示全部楼层
可以在 /etc/profile 中加入如下检测

me=$(whoami)
cnt=$(who | grep "^$me" | wc -l)
if [ "$cnt" -qt 1 ];
then
  echo "there is a session logged in, wait for it logout..."
   while [ $(who | grep "^$me" | wc -l) -eq 1 ];
   do
      sleep(10);
   done
fi

没测试,就不知道行不行,希望有所帮助吧.
发表于 2004-11-17 17:35:00 | 显示全部楼层
while [ $(who | grep "^$me" | wc -l) -ne 1 ];
 楼主| 发表于 2004-11-18 13:42:35 | 显示全部楼层
出错了,结果如下:
-------------------------------------------
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login: aaa
Password:
Last login: Thu Nov 18 13:39:58 from 192.168.0.27
-bash: /etc/profile: line 59: syntax error near unexpected token `10'
-bash: /etc/profile: line 59: `sleep(10);'
---------------------------------------------------
发表于 2004-11-21 09:09:12 | 显示全部楼层
sleep(10);
那里有问题??
发表于 2004-11-21 11:07:44 | 显示全部楼层
应该是sleep 10.
sleep 在这里是一个命令,不是函数。
 楼主| 发表于 2004-11-22 13:42:22 | 显示全部楼层
还是不行啊,我对SHELL语法不是很熟悉,可不可以写得准确点啊,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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