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

Unix/Linux
以假乱真 Linux中实现Vista界面主题
gnome与KDE字体大小不同的解决
Slackware 10 系统的汉化、美化
linux 常见音乐、视频播放器简介
Linux系统下用DCOP连接KDE应用程序
使用xmanager访问linux图形界面
Linux操作系统下制作特效照片也精彩
用新型D-BUS与Linux桌面应用程序通讯
使用Portland改善Linux桌面移植性
Linux操作系统下安装QQ最简单的方法
linux下浏览CHM及其它文件格式电子书
Linux下gnome桌面转换为KDE桌面的方法
Linux系统使用Windows XP字体美化汉字
Linux操作系统窗口系统精彩问与答
英文界面中文输入法与汉字的正常显示
在Fedora中编译安装Mplayer的详细步骤
Linux上五十个最佳的FireFox扩展插件
迁移到Linux桌面的六个忠告
Linux下登录windown系统远程桌面
Ubuntu Linux下播放Real多媒体的方法

Unix/Linux 中的 Linux下限制Root远程登陆


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

方法:在/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