发信人: wwwyyyxxx()
整理人: wwwyyyxxx(1999-08-24 09:12:49), 站内信件
|
发信人: gateway(转信网关), 信区: unix 标 题: williamlong : 如何限制用户的登陆地点? 发信站: 新龙门客栈 (Sat Mar 20 01:24:34 1999)
发信人: williamlong (蓝色月光), 信区: unix 标 题: 如何限制用户的登陆地点? 发信站: 龙门客栈 (Sat Sep 19 16:57:51 1998), 转信
用户在登录时, 验证完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程序是针对这种格式编写的, 仅供参考. -- ┌──────────────────────────────┐ │ ☆ William Long ☆ 蓝色月光 Email: [email protected] │ └──────────────────────────────┘
※ 来源:.龙门客栈 bbs.szonline.net.[FROM: 202.96.171.115]
-- ※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.99.222.65]
|
|