当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux下如何限制Root用户进行远程登陆

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 Linux下如何限制Root用户进行远程登陆


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 164 ::
收藏到网摘: n/a

  限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。

  方法一:在/etc/default/login 文件,增加一行设置命令。

  CONSOLE = /dev/tty01

  设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不过,同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。

  方法二:1.为了达到限制root远程登录,首先要分清哪些用户是远程用户(即是否通过另一台 Windows 系统或 UNIX 系统进行 telnet 登录),哪些用户是局域网用户。通过以下shell程序能达到此目的。

  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

  以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在 /etc/hosts 文件中,定义了IP 地址和机器名之间的对应关系,则 WH 为用户登录的主机名。假设连接到局域网中的终端服务器的IP 地址为:

  99.57.32.18, 那么应在 /etc/hosts 文件中加入一行:

  99.57.32.18 terminal_server

  所有通过99.57.32.18终端服务器登录到主机的终端中,WH 是同一个值,即为终端服务器名terminal_server。

  2.在root的.profile文件中,根据 WH 值进行不同的处理,从而实现限制root远程登录。

  Trap 1 2 3 9 15
  If [ "$WH" = "local" -o "$WH" = "terminal_server" ]
  then
   echo "Welcome......"
  else
   exit
  fi

  方法三:有时为了工作的方便,允许局域网中部分电脑root登录,例如,允许局域网中IP 地址为 99.57.32.58 的电脑root登录,要实现这一点,需要在前述方法中,作两点补充:

  1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。

  2.在上述 Shell 程序段中,将下述内容:

  If [ "$WH" = "local" -o "$WH" = "terminal_server" ]

  修改为:

  If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]

  方法四:经过以上处理后,仍存在普通用户登录后用su命令变成 root 用户的可能,从而达到 root 远程登录的目的。为了防止用这种方法实现 root 远程登录,需要限制普通用户不能执行 su 命令:

  1.将su命令属主改为 root;

  2.将su命令的权限改为 700