如何禁止root用户远程登录

 我来答
婚博会
2016-10-17 · 知道合伙人互联网行家
婚博会
知道合伙人互联网行家
采纳数:244 获赞数:849
互联网达人,资深IT资讯交流参与者。PC软硬件达人,热衷于分享自己所懂的东西。

向TA提问 私信TA
展开全部
  限制 root 远程登录的目的,不言而语啦,下面是几种方法:
  方法一:
  可以通过修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务就 可以了。/etc/rc.d/sshd restart
  方法二:在/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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式