第一种方法: 屏蔽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=`ttycut -b 9-12` WH=`fingercut -b 32-79grep "$TY"cut -b 29-39` KK=`ttycut -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登录。 从而保证系统安全。
(出处:http://www.sheup.com)