Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->入门与提高 ->正文

如何限制Linux操作系统中用户的登陆地点

来源: 作者:Webmaster 时间:2007-10-12 点击: [收藏] [投稿]

用户在登录时, 验证完passwd后, 根据shell的不同, 系统首先执行/etc下的某个文件. sh,ksh是profile, csh是csh.cshrc, bash是bashrc. 在这时对用户登陆地点加以验证, 可防止某些可能的intruder. 下面是我用在西门子RM600并行机上的/etc/profile的一段程序。

....

....

# check for authenication

if [ -r /etc/checkfrom.awk ]; then

VALID=`finger | awk -f /etc/checkfrom.awk`

if [ "$VALID" != "WELCOME" ]; then

echo "Intruder, GET AWAY FROM HERE!!!"

exit

fi

fi

.....

......

/etc/checkfrom.awk是一个awk程序, 内容如下:

BEGIN {site["aft01"]=1;

site["aft02"]=1;

site["aft03"]=1;

site["aft04"]=1;

site["aft05"]=1;

site["rs6000"]=1;

}

$1==ENVIRON["LOGNAME"] {

if ($NF !~ /[0-9]+:[0-9]+/){

i = NF - 3

if("/dev/"$i == ENVIRON["TTY"]){

if(ENVIRON["TTY"] != "/dev/console"){

if($NF in site)print "WELCOME"

else print "GETAWAY"

}

else print "WELCOME"

exit 0

}

}

else{

i = NF - 2

if("/dev/"$i == ENVIRON["TTY"]){

print "WELCOME"

exit 0

}

}

}

注: 请注意你的机器上的finger显示的格式, 我机器上的格式如下:

$ finger

lsad% finger

Login Name TTY Idle When Where

tiger Wang Shuhu console Mon 00:41

lsad%

上面的awk程序是针对这种格式编写的, 仅供参考。

(责任编辑:云子)



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux操作系统的Rsync安装配置使用教程   下一篇:如何在Linux系统里面限制用户的可用空间

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号