Linux 下如何限制 ROOT 用户远程登陆?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下如何限制 ROOT 用户远程登陆?相关的知识,希望对你有一定的参考价值。

Linux系统下怎样限制Root用户远程登陆,下面介绍4种方法,在不同的linux系统,可能配置略有差异:
  
方法1:可以在/etc/default/login文件,增加一行设置命令:CONSOLE=/dev/tty01
  这样设置后立即生效,无需重新引导,不过,这样做的同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。

  方法2:为了达到限制root远程登录,我们首先要分清哪些用户是远程用户(即是否通过另一台Windows系统或UNIX系统进行telnet登录),哪些用户是局域网用户。通过以下shell程序能达到此目的:
  TY=`tty|cut-b9-12`
  WH=`finger|cut-b32-79|grep"$TY"|cut-b29-39`
  KK=`tty|cut-b6-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.18terminal_server
  所有通过99.57.32.18终端服务器登录到主机的终端中,WH是同一个值,即为终端服务器名terminal_server。
  可以在root的.profile文件中,根据WH值进行不同的处理,从而实现限制root远程登录。
  Trap123915
  If["$WH"="local"-o"$WH"="terminal_server"]
  then
  echo"Welcome......"
  else
  exit
  fi

  方法3:有时也要允许局域网中部分电脑root登录,如允许局域网中IP地址为99.57.32.58的电脑root登录,实现的话需要在上述方法中,作两点补充:
  1.在/etc/hosts文件中,加入一行:99.57.32.58xmh。
  2.在上述Shell程序段中,将If["$WH"="local"-o"$WH"="terminal_server"]修改为If["$WH"="local"-o"$WH"="terminal_server"-o"$WH"="xmh"]

  方法4:如果经过以上处理后,仍存在普通用户登录后用su命令变成root用户的可能,从而达到root远程登录的目的。
  这样,为了防止用这种方法实现root远程登录,需要限制普通用户不能执行su命令:将su命令属主改为root或者将su命令的权限改为700
 
参考技术A 限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。 方法一:在/etc/default/login 文件,增加一行设置命令: CONSOLE = /dev/tty01 设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不过,同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。参考白度: http://hi.baidu.com/congjiahua/blog/item/a73cb924d23572318744f9dc.html

以上是关于Linux 下如何限制 ROOT 用户远程登陆?的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记(十三) su sudo 限制root远程登陆

如何访问远端的mysql数据库,root好像不能访问,数据库在别人的机子上。

Linux关闭root用户远程登陆

Linux 下root 账户禁止远程登陆

Linux服务器企业级安全加固

限制root远程登录