我们常常使用/etc/sysconfig/vncservers文件来控制vncserver的自动启动,但是这种方法使得vncviewer一旦登录,就以某个身份登录到了linux桌面,取得了linux的控制权,显然,这存在着潜在在安全风险.下面使用vncgdm的配合来实现rhel4(rhel5配置文件略有不同)规避这种风险.

    使用gmd,vncviewer连接后,除了要通过vncserver本身的密码验证,还将出现linux本身的login窗口,只有通过linux本身账号和密码验证,方能取得linux控制权.当然这从另一个角度给我们带来了方便,那就是我们可以自由地选择所需要的账户登录.

    配置方法如下:

    1.开启XDMCP功能

      编辑 /etc/X11/gdm/gdm.conf

      找到[xdmcp]一节

      Enable=false改成

      Enable=true

   

    2.配置VNC

      在本例中只启用一个vncserver进程,即端口号为5901:1,如果需要开启更多的进程,按规则相应增加即可.

      1) 创建vnc访问密码

         vncpasswd /root/.vncpasswd #把密码文件存放在/root下的.vncpasswd文件中

        

      2) 创建一个xinetd 服务

         新建文件etc/xinetd.d/vnc1

         内容如下

         service vnc1

          {

          disable = no

          socket_type = stream

          protocol = tcp

          wait = no

          user = root

          server = /usr/bin/Xvnc

          server_args = -inetd -query localhost -geometry 1024×768 -depth 16 -once -fp unix/:7100 -DisconnectClients=0 -NeverShared passwordFile=/root/.vncpasswd -extension XFIXES

}

         上面内容中 1024×768表示启动的桌面分辨率大小,passwordFile表示vncserver密码文件存放的位置.

 

       3) vnc自动启动

         编辑  /etc/services

         加入vnc1 5901/tcp # VNC & GDM

         注意vnc1表示你在xinetd中创建的服务,5901/tcp表示vncserver所用的端口,vncserver使用端口从5900开始递增,在使用vncviewer连接时,5900表示:0,5901表示:2.以此类推.

      

       OK,一切完毕,重启验证一下吧,goodluck!

  补充方法二

etc/xinetd.d/vnc1改为如下内容:

service vnc1

{

      type = UNLISTED

      disable = no

      socket_type = stream

      protocol = tcp

      wait = yes

      user = root

    server = /usr/bin/Xvnc

    server_args = -inetd :1 -query localhost -geometry 1024×768 -depth 16 -once -fp unix/:7100  -DisconnectClients=1 -AlwaysShared passwordFile=/root/.vncpasswd -extension XFIXES

    port = 5901

}

       取消3) vnc自动启动 这一步骤.

 两种方法的不同之处在于:

第一种方法,每次连接都显示linux login窗口,每登录一个用户都是不同的桌面.关闭vncviewer,用户自动注销,而不会保留该用户桌面.

第二种方法,当此前没有使用vncviewer登录过任何用户时,显示linux login窗口,当之前有用户登录过,而且没有注销时,显示该用户桌面而不显示linux login窗口.该用户注销后,重新显示linux login窗口.

引用地址:http://litblue.net/p/858

楼被抢了2层了

  1. 试了一下, linux login窗口没有显示,直接登进去了


    zenwolt Says @ 08-03-5 11:26
  2. 不应该啊
    除非你是用vncserver :1这样的命令启动的

    blues Says @ 08-03-5 16:21

要说点啥就在这吧