inetd (Internet 超级服务器 )
inetd是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。它可以为多种服务管理连接,当 inetd 接到连接时,它能够确定连接所需的程序,启动相应的进程,并把 socket 交给它 (服务 socket 会作为程序的标准输入、 输出和错误输出描述符)。 使用 inetd 来运行那些负载不重的服务有助于降低系统负载,因为它不需要为每个服务都启动独立的服务程序。
xinetd(eXtended InterNET services daemon)
xinetd已经取代了inetd,并且提供了访问控制、加强的日志和资源管理功能,已经成了Red Hat 7 和 Mandrake 7.2的Internet标准超级守护进程。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。它能提供以下特色:
* 支持对tcp、udp、RPC服务(但是当前对RPC的支持不够稳定)
* 基于时间段的访问控制
* 功能完备的log功能,即可以记录连接成功也可以记录连接失败的行为
* 能有效的防止DoS攻击(Denial of Services)
* 能限制同时运行的同一类型的服务器数目
* 能限制启动的所有服务器数目
* 能限制log文件大小
* 将某个服务绑定在特定的系统接口上,从而能实现只允许私有网络访问某项服务
* 能实现作为其他系统的代理。如果和ip伪装结合可以实现对内部私有网络的访问
它最大的缺点是对RPC支持的不稳定性,但是可以启动protmap,与xinetd共存来解决这个问题。
1. 配置远程控制权限
打开 系统->系统管理->登陆窗口
点击<远程>页面,在模式中选择”与本地相同”
点击”配置XDMCP”按钮,将”遵从非直接请求”的选中状态取消
编辑 /etc/gdm/gdm.conf
sudo gedit /etc/gdm/gdm.conf
找到[xdmcp]节,将enable改为true
Enable=True
找到行,# RemoteGreeter=/usr/lib/gdm/gdmlogin 去掉注释
RemoteGreeter=/usr/lib/gdm/gdmlogin
2. 安装所需软件
sudo apt-get install vnc4server xinetd
3. 设置VNC口令
sudo vncpasswd /root/.vncpasswd
4. 在xinetd中增加VNC服务
sudo vi /etc/xinetd.d/Xvnc
Xvnc内容如下:
service Xvnc
{
type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = yes
user = root
server = /usr/bin/Xvnc
server_args = -inetd :1 -query localhost -geometry 1024x768 -depth 16 -once -fp /usr/share/fonts/X11/misc -DisconnectClients=0 -NeverShared passwordFile=/root/.vncpasswd -extension XFIXES
port = 5901
}
下面说明每一行选项的含义。
disable = yes:表示禁用这个服务。
socket_type = stream:表示服务的数据包类型为stream。
wait = no:表示不需等待,即服务将以多线程的方式运行。
user = root:表示执行此服务进程的用户是root。
server = /usr/bin/rsync:启动脚本的位置。
log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。
5. 启动xinetd服务
sudo /etc/init.d/xinetd stop
sudo killall Xvnc
sudo /etc/init.d/xinetd start
vnc客户端配置:
客户端系统可以使用win XP,vnc客户端用的是UltraVNC Viewer。
启动UltraVNC Viewer后,在vnserver中输入刚才配置nvc4server的主机ip和vncserver端口号(如 192.168.3.11:5901),端口号在/etc/xinetd.d/Xvnc文件中设置(port = 5901)。输入用户,口令,就可以从远程登录ubuntu桌面了。