起步于系统工程师,迈进入测试工程师,从起初的C/S系统到互联网时代的B/S系统,从事过电信增值业务、软交换、烟草OA、公安技侦和电子商务等行业的软件测试开发和管理多年,愿与大家共同分享共同交流,关注软件项目管理、测试团队管理、软件流程控制和软件性能测试及自动化测试技术。互联网时代,技术推动进步,欢迎人才推荐:jonas.wangl@alibaba-inc.com

Unix中限制root远程登录的方法

上一篇 / 下一篇  2008-11-04 09:35:31 / 个人分类:Linux/unix

6r^ N}SMc0   UNIX系统中,计算机安全系统建立在身份验证机制上。如果root口令失密,系统将会受到侵害,尤其在网络环境中,后果更不堪设想。因此限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。51Testing软件测试网9BjU`.A-}

6C)^;C+G q+S8v fO0  方法一:在/etc/default/login 文件,增加一行设置命令:51Testing软件测试网g ?Y]3V P+a

51Testing软件测试网*}.v m.ZY_l)D

  CONSOLE = /dev/tty01

M'Uue TD051Testing软件测试网;MIL?T

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

51Testing软件测试网2g wQ9fR1|

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

0?4mAS[1b5SD4u051Testing软件测试网U+H"p [r-| AQ

  TY=`tty | cut -b 9-12`

+J,^2t*a6t0j P `.m7u0

F,h:u tk+ph0  WH=`finger | cut -b 32-79 | grep "$TY " | cut -b 29-39`51Testing软件测试网Bz!\8~fbcAG

a Bz.`g0  KK=` tty | cut -b 6-9`51Testing软件测试网5~)^Z8wB;Q9G\,n

51Testing软件测试网(gX:ls:B$_$R\

  If [ "$KK" = "ttyp" ]

Q8h| Og)D P051Testing软件测试网W2_;eHCJ

  Then51Testing软件测试网 @:v7]7Jg

}:W;FRoT0   WH=$WH

f so]4R}OE051Testing软件测试网"w:a:P3wAd@

  Else51Testing软件测试网7d.z(O9hL2U&@P@

51Testing软件测试网 _KP m { d;k+O \ nr7q

   WH="local"51Testing软件测试网%g4u,\1b]$qVStcU5~

zp V:^V.xd~0TJ)r0  Fi51Testing软件测试网`#ax S5V

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

9X%|/fku:W+m_ U{0

}^KY.mD:F?0  99.57.32.18 terminal_server

#r x5jlyZE{&[051Testing软件测试网Yj\(u5y2e R&G

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

U7lh0z3Q$P*L(kZ)uu0

T5D.EXw/R+U%S,I {s0  2.在root的.profile文件中,根据 WH 值进行不同的处理,从而实现限制root远程登录。

H F O&]S"z~051Testing软件测试网%]%y3^ i,P2N8E IT!t

  Trap 1 2 3 9 1551Testing软件测试网pA3|j{m6dH%D

51Testing软件测试网zC:CU T4k+|ctPpZ

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

{ y\k.M(Mv9p0

UPjle }+f_P0  Then

n"[EN|/x051Testing软件测试网(i:?J~/Y4GRQb

   Echo "Welcome......"

x+rm6E p#_&a zw0

y Z9w5E|(?0  Else51Testing软件测试网4w:V$N8} m@Av

'rv2Z1u)J4uM?0   Exit51Testing软件测试网'VYn6P2HYzn+\

P1q5n9G}!]F)FLl0  Fi51Testing软件测试网v%BI*q_ E)`

,d+H6H-KW+g0  方法三:有时为了工作的方便,允许局域网中部分电脑root登录,例如,允许局域网中IP 地址为 99.57.32.58 的电脑root登录,要实现这一点,需要在前述方法中,作两点补充:51Testing软件测试网J4[9W)x!bW8y

VjZGh9Cw-rd,\O0  1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。51Testing软件测试网j,F3wcO W.c

51Testing软件测试网X#a({QK_ @T

  2.在上述 Shell 程序段中,将下述内容:51Testing软件测试网/K$I,~X\ZP&P

51Testing软件测试网Jv*e5L"o7t@

  If [ "$WH" = "local" -o "$WH" = "terminal_server" ]51Testing软件测试网Nu8g6H H$f!Pqm

51Testing软件测试网!m!y$z#|%X$A#Z

  修改为:51Testing软件测试网9_WW0b9QZ

Vg5x~1f j ] e_p0  If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]51Testing软件测试网6u6]U.P9WR

I\;t1vK2Q0  方法四:经过以上处理后,仍存在普通用户登录后用su命令变成 root 用户的可能,从而达到 root 远程登录的目的。为了防止用这种方法实现 root 远程登录,需要限制普通用户不能执行 su 命令:51Testing软件测试网6CV)LIB'D f)[

(X-P9J*n`)l0  1.将su命令属主改为 root;51Testing软件测试网z]8@'ZwB

51Testing软件测试网.{}Gr[;ls.J9HI

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

bq'Kw1D[s C0

)Kt(t+QJ5O0  方法五:在上述方法中,虽限制了普通用户执行su 命令,但“精明”的用户可以用 ftp 命令上载一个用户可以执行的 su命令,从而实现 root 远程登录。为了防止这一点,需要在路由器上设立防火墙,限制用户执行ftp协议,这里不再赘述。51Testing软件测试网lgUXO \
 
(?8Rz5L@Ci"k0

vr Gq0~ }8v!S$`"_0

TAG:

 

评分:0

我来说两句

Open Toolbar