歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下實現限制用戶的登陸地點

Linux下實現限制用戶的登陸地點

日期:2017/2/28 17:22:04   编辑:Linux教程
用戶在登錄時, 驗證完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程序是針對這種格式編寫的, 僅供參考。
Copyright © Linux教程網 All Rights Reserved