打不死的心态活到老。

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

上一篇 / 下一篇  2007-11-14 15:21:08 / 个人分类:linux

51Testing软件测试网:Lo3w ]$Ru|

http://tech.ddvip.com/2006-08/11551488827306.html51Testing软件测试网)^/bma`&D9LD:p

本文详细介绍Unix中限制root远程登录的方法

51Testing软件测试网-c+Z1e5e ~/S5U]!K

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

51Testing软件测试网XjwB8| O0e}

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

:M9Xr2I p0L0

4X#f#Ir7yCq0  CONSOLE = /dev/tty01 

L7Z&u\U051Testing软件测试网'f%y(A:qb T f

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

7O#~W-U$} yL0  方法二:1.为了达到限制root远程登录,首先要分清哪些用户是远程用户(即是否通过另一台 Windows 系统或 UNIX 系统进行 telnet 登录),哪些用户是局域网用户。通过以下shell程序能达到此目的。 51Testing软件测试网-l;R(q E$MzuF

,P#C/d GiA^0l0    TY=`tty | cut -b 9-12` 
GiV^4[+a0   WH=`finger | cut -b 32-79 | grep " $TY " | cut -b 29-39` 51Testing软件测试网z\3v%C z
   KK=` tty | cut -b 6-9` 51Testing软件测试网m?3ql`f
   If [ " $KK" = "ttyp" ] 
.d w5?l,{]Si0   Then 51Testing软件测试网3bz%Z ` H Q^
    WH= $WH 
)zO ^5w+G3CDx9v0   Else 51Testing软件测试网)MTp(T[W HX
    WH="local" 51Testing软件测试网Ai4\Y9g,p$o i
   Fi
 

(t r(?7ij0

0V.v j#`T}#\y0  以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在 /etc/hosts 文件中,定义了IP 地址和机器名之间的对应关系,则 WH 为用户登录的主机名。假设连接到局域网中的终端服务器的IP 地址为:99.57.32.18, 那么应在 /etc/hosts 文件中加入一行: 51Testing软件测试网#?+A J/LB3q

51Testing软件测试网 }\7Tf mmw'd

  99.57.32.18 terminal_server 51Testing软件测试网OH8W1v iv

51Testing软件测试网^/P6YK'M8Nmf1__0Z

  所有通过99.57.32.18终端服务器登录到主机的终端中,WH 是同一个值,即为终端服务器名terminal_server。 51Testing软件测试网z%ep2ppKa;c

51Testing软件测试网w2{'d:esyt6}]!|Y

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

|j |3JVl[a2C0

` n3]p1HWy0    Trap 1 2 3 9 15 
T;@6W`/qf0   If [ " $WH" = "local" -o " $WH" = "terminal_server" ] 51Testing软件测试网!}S"ng U\8X:C7U\
   Then 51Testing软件测试网|j7o8n.o1QK8z|b(v
    Echo "Welcome......" 51Testing软件测试网wJw ?QpZ
   Else 
+|&[ brD.[ j Y0    Exit 
B#oDS{&C0   Fi 

0R8QL_.@'\6bo%ql#W051Testing软件测试网Bx w.k}l\

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

Q$^F(V7{8f#?051Testing软件测试网 _/i{IV-MB:KER9q

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

P+d.{%X2Q0

'DEEM(I!\B H0  2.在上述 Shell 程序段中,将下述内容: 51Testing软件测试网(x3|;x&RM`E'B

F/j,f~1pb0  If [ " $WH" = "local" -o " $WH" = "terminal_server" ] 

%p$Jl$m,[6Q8Uk051Testing软件测试网?*g:Y1T3v$Z[

  修改为: 

y#tt+zz-r5o8D5`LP)x051Testing软件测试网8nlHc3X;` ~ Ep,T

  If [ " $WH" = "local" -o " $WH" = "terminal_server" -o " $WH"= "xmh" ] 51Testing软件测试网7RM}0P@ pp

51Testing软件测试网r"z8UF p"z)W[v

  方法四:经过以上处理后,仍存在普通用户登录后用su命令变成 root 用户的可能,从而达到 root 远程登录的目的。为了防止用这种方法实现 root 远程登录,需要限制普通用户不能执行 su 命令: 51Testing软件测试网qL!Pq&n4u Y]

51Testing软件测试网ib(Lb8nn

  1.将su命令属主改为 root; 51Testing软件测试网v l$t1d'v-J%a!T"r

v$l;M&kU };f!o0  2.将su命令的权限改为 700。 51Testing软件测试网1{V H"xF]

51Testing软件测试网)]"FY2{N I

  方法五:在上述方法中,虽限制了普通用户执行su 命令,但“精明”的用户可以用 ftp 命令上载一个用户可以执行的 su命令,从而实现 root 远程登录。为了防止这一点,需要在路由器上设立防火墙,限制用户执行ftp协议,这里不再赘述。51Testing软件测试网"B a2|y \z:v)] F


TAG: linux

 

评分:0

我来说两句

Open Toolbar