第一種方法:
屏蔽telnet功能。
telnet功能被屏蔽掉後,任何用戶都無法登錄,當然ROOT也無法登錄。但這種方法太過極端。故不可取。
第二方法:
在/etc/default/login中增加一行命令
CONSOLE=tty01
經過這樣設置後,用戶只能在第一個控制台上以ROOT登錄。任何其他控制台和所有遠程用戶均無法登錄。
第三種方法:
只允許指定的用戶以ROOT用戶遠程登錄
若服務器的地址為134.33.86.13;允許地址為134.33.86.17和134.33.86.18的機器以ROOT登錄。
1. 首先編輯/etc/hosts文件,內容如下:
127.0.0.1 local
134.33.86.13 jnzy.jndx.com
134.33.86.17 root2
134.33.86.18 root3
2. 寫一段程序放入文件/.profile中
:
# @(#) root.profile 68.1 98/01/20
#
# Copyright (C) 1989-1998 The Santa Cruz Operation, Inc.
# All Rights Reserved.
# The information in this file is provided for the exclusive use of
# the licensees of The Santa Cruz Operation, Inc. Such users have the
# right to use, modify, and incorporate this code into other products
# for purposes authorized by the license agreement provided they include
# this notice and the associated copyright notice with any such product.
# The information in this file is provided "AS IS" without warranty.
#
TY=`tty|cut -b 9-12`
WH=`finger|cut -b 32-79|grep "$TY"|cut -b 29-39`
KK=`tty|cut -b 6-9`
if [ "$KK" = "ttyp" ]
then
WH=$WH
else
WH="local"
fi
trap 1 2 3 9 15
if [ "$WH" = "local" -o "$WH" = "root2" ]
then
SHELL=/bin/sh
HOME=/
PATH=/bin:/etc:/usr/bin:/tcb/bin:/zy
# set terminal type
eval `tset -m scoansi:${TERM:-scoansi} -m :\?${TERM:-scoansi} -e -r -s -Q`
export TERM PATH SHELL HOME
[ -x /bin/mesg ] && mesg n # if mesg is installed...
date
else
echo "you can not telnet by root:\07\07" #拒絕登錄並響鈴告警
echo "press any key to exit"#按任意鍵退出
read sad
exit
fi
這樣只有在IP地址為134.33.8.17和134.33.86.18兩台機器上能以ROOT用戶登錄,其他地址不可以用ROOT登錄。
從而保證系統安全。