论文部分内容阅读
摘 要: 对服务器进行管理和维护是网络管理员的重要工作,但由于服务器通常不在本地,且Windows与Linux操作系统之间存在文件资源共享问题。VNC可以实现远程使用X-Window控制Linux系统,而Samba可以实现Linux与Windows系统中资源共享,文章通过实际操作进行了测试验证。结果表明,这种集成管理提高了Windows和Linux的操作使用效率,是异构网络环境下很好的解决方案。
关键词: VNC服务; Samba服务; 用户控制; Linux
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2016)11-48-03
Research on Windows users controlling Linux system via VNC and Samba
Fang Hui, Qu Junjie
(Guangxi Crop Genetic Improvement and Biotechnology Lab, Nanning, Guangxi 530007, China)
Abstract: The management and maintenance of the server is the important work of network administrator, but the server is not usually in the local, and the Windows and Linux operating system file resource sharing is also a problem. VNC can remotely use X-Window to control Linux system, and Samba can realize the resource sharing between Linux and Windows systems, this paper tests and verifies through the actual operation. The results show that this integrated management improves the operational efficiency of Windows and Linux, and it is a good solution in heterogeneous network environment.
Key words: VNC server; Samba server; user control; Linux
0 引言
一个局域网内通常安装有不同操作系统的服务器,为了保证各种不同的服务器正常有效的运行,对网络服务器进行管理和维护是网络管理员最重要的日常工作。由于网络服务器通常分布在单位机房的多个不同位置,一个个直接登录操作非常麻烦,所以常常要借助远程控制的方式对这些服务器进行操作。在Windows平台下,通常是直接采用 终端服务的方式实现远程控制,而在Linux平台下,采用Telnet和SSH只能实现基于字符界面的远程控制,操作方便性远远没有X-Window方便,采用VNC(Virtual Network Computer)服务可以实现远程使用X-Window操作Linux系统。此外,由于经常需要将网络服务器和用户个人电脑中的某些文件资源进行共享,而Windows与Linux之间一般不能直接进行文件资源共享,因此就需要在Linux系统中安装Samba软件包。本文介绍利用VNC实现远程使用X-Window控制Linux系统,同时利用Samba实现Linux系统文件资源共享,所用实验环境为:服务器操作系统Centos 6.3,客户机操作系统Windows 7。
1 VNC与Samba简介
VNC是一款优秀的远程控制软件,由著名的 AT&T的欧洲研究实验室在2002年开发的轻量级远程控制计算机软件。VNC 是一款基于Linux操作系统的免费开源软件,使用简单、远程控制能力强,其性能可以和基于Windows系统的任何远程控制软件相媲美[2]。在Linux中,VNC包括以下四个命令:vncserver、vncviewer、vncpasswd和vncconnect。用户最常用到的两个命令是vncserver和vncviewer。VNC由两部分组成:客户端的应用程序(vncviewer)和服务器端的应用程序(vncserver)[3]。用户先将VNC server安装在被控端的系统上,才能在主控端执行VNC vierwer控制被控端。
Samba是一套让Linux系统能够应用Microsoft网络通讯协议的软件,是在Linux系统上实现SMB(Server Message Block)协议的一个免费软件,它使执行Linux系统的机器能与执行Windows系统的计算机共享资源。SMB是微软和英特尔在1987年制定的协议,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内不同的计算机提供文件及打印机等资源的共享服务[4-5]。Samba主要通过配置文件smb.conf进行配置,Samba主要提供4种服务:文件和打印服务、认证和授权服务、名称解析和服务通告。
2 VNC安装和配置
Centos系统默认情况下没有安装VNC,可使用#rpm -q vnc-server命令检查系统是否已经安装了VNC服务或者查看已安装了何种版本。若没有安装可以使用# yum install vnc-server 进行下载安装。
编辑/etc/sysconfig/vncservers配置文件,其中VNCSERVERS参数用于配置用户,VNCSERVERARGS用于设置用户的X-Window桌面分辨率,客户端连接个数、色深和TCP监听方式,设置VNC后需重启配置#/sbin/service vncserver restart,笔者的Centos配置如下。 VNCSERVERS="1:user1 2:user2 "
VNCSERVERARGS[1]="-geometry 1280x800
-alwaysshared -depth 24 -nolisten tcp"
VNCSERVERARGS[2]="-geometry 1280x800
-alwaysshared -depth 24 -nolisten tcp"
设置完配置文件后,要用root账号增加user1、user2用户并设置用户密码。
如果Centos服务器开启了防火墙功能,还需要设置允许TCP协议连接相应的端口,例如,可以使用以下命令允许桌面号为1的连接通过:# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT,其中桌面号1对应的端口是5901,桌面号2对应的端口是5902,依此类推。设置完后需要重启防火墙:# /sbin/service iptables restart。
若使用VNC远程使用X-Windows登录后直接使用图形界面,还要设置~/.vnc/xstartup文件,将第4第5行修改如下:
vncconfig -iconic &
unset SESSION_MANAGER
此外,还要同时修改最后两行:
#twm &
gnome-session $
最后还要设置VNC服务开机自启动 # hkconfig vncserver on。
3 Samba安装和配置
Centos系统一般默认没有安装Samba软件,安装Samba软件执行指令 # yum install Samba。Samba服务器安装完毕后会生成配置文件目录/etc/Samba和其他一些Samba可执行命令文件,/etc/samba/smb.conf是Samba的核心配置文件,/etc/init.d/smb是Samba的启动/关闭文件。在大规模网络中,smb.conf文件可能非常复杂,但对于小型网络,只要把几个需要共享的目录相关内容加入到smb.conf文件就可以了。
Samba 服务安装完后要进行相关配置,下面以笔者的Centos系统为例进行说明。
⑴ 首先以root身份登陆Centos服务器,建立usershare工作组和工作组内用户user1和user2,输入命令#groupadd usershare、# useradd -g usershare user1以及# useradd -g usershare user2。
⑵ 在home目录下,建立usershare和share目录,#makedir /home/usershare /home/share,将两个用户账号添加到Samba的账号中,执行命令# smbpasswd -a user1,并根据提示输入密码,user2与user1类似操作。
⑶ 打开并编辑smb.conf文件。
[global]
workgroup=MYGROUP
server string=Samba Server Version %v
hosts allow=127. 172.16.12.
log file=/var/log/samba/log.%m
max log size=50
security=share
passdb backend=tdbsam
[share]
path=/home/share
browseable=yes
writable=yes
guest ok=yes
[usershare]
comment=usershare
path=/home/usershare
valid users=@usershare
在上面的smb.conf文件中一共定义了三个部分。global 段定义的是全局变量,其中设置了Samba 服务器所在工作组、Samba Server的注释、设定日志文件的位置和最大容量、使用加密密码进行管理、指定密码文件等。share段和usershare段是由配置文件定义的两个共享资源,其中share为公开的共享目录,usershare是只能由特定用户组访问的共享资源,访问该目录资源时必须提供用户账号和口令。当设定了hosts allow之后,hosts allow里面没有指定IP的计算机将无法登入Samba主机共享资源。如果不限制IP或者使用防火墙进行管理,就不需要设置hosts allow。security=share方式,用户匿名访问即可登录Samba主机,安全级别最低。security=user方式,Samba主机通过用户名和密码验证Windows客户的身份,验证通过则允许其访问[6]。
配置好smb.conf 文件以后,使用# testparm 测试配置文件,如果配置没有出错,就会列出可装载的服务项,否则会显示出错信息。若要使修改的内容启用还要执行命令# service smb reload和重新启动Samba服务执行# service smb restart。
4 测试验证
笔者单位的Centos服务器的IP地址为172.16.9.14,从Windows 远程访问Centos服务器,VNC登录利用IP地址和桌面号访问:172.16.9.14:1,密码为user1的用户密码。在Windows中运行执行\\172.16.9.14访问上面建立的Samba目录,同样用user1用户账号密码登录。图1显示的是既用user1用户登录VNC远程访问操作Centos系统,同时在Windows中用user1账号访问Centos中的共享目录的结果。
5 注意事项
安装Windows系统的计算机与安装Linux系统的计算机须用网线和交换机连接起来,并配置同一网络字段的IP地址,用ping命令检查两台计算机的互通性,确保Windows系统与Linux系统在同一个局域网内。
VNC远程访问时如果Linux服务器开启了防火墙功能,还需要设置允许TCP协议连接相应的端口,VNC默认的端口号为5900,在访问时可以省略端口号直接使用桌面号访问。在Samba配置文件samba.conf中hosts allow的IP地址的字段包含需要访问的计算机IP字段。
6 结束语
在Windows系统下远程操作Linux网络服务器,采用VNC服务实现远程使用X-Window可极大的提高操作的友好性和便利性。Samba将当今流行的两大网络系统—Windows和Linux集成起来,共享两者的资源,充分发挥各自的优势,方便用户的各种应用需求。VNC和Samba服务结合一起使用,既能实现远程操作又能实现资源共享,极大的提高了用户的使用效率。
参考文献(References):
[1] 文东戈,孙昌立,王旭.Linux操作系统实用教程[M].清华大学
出版社,2009.
[2] 孔祥真,邢宏健.Linux操作系统VNC服务器的配置与管理[J].
网络安全技术与应用,2014.4:68-71
[3] 陈虹.基于Linux平台下的VNC远程控制实现方法[J].萍乡
高等专科学校学报,2007.3:25-26,35
[4] 王惠.Linux环境下Samba服务器的研究与实现[J].电脑知识
与技术,2016.4:62-63,69
[5] 钟志文,徐崇安.Linux和Windows服务器的统一管理初探[J].
计算机应用与软件,2010.1:191-192,203
[6] 何强,肖波,周新媛.利用Samba实现Linux和Windows文件
共享[J].长沙大学学报,2007.5:80-82
关键词: VNC服务; Samba服务; 用户控制; Linux
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2016)11-48-03
Research on Windows users controlling Linux system via VNC and Samba
Fang Hui, Qu Junjie
(Guangxi Crop Genetic Improvement and Biotechnology Lab, Nanning, Guangxi 530007, China)
Abstract: The management and maintenance of the server is the important work of network administrator, but the server is not usually in the local, and the Windows and Linux operating system file resource sharing is also a problem. VNC can remotely use X-Window to control Linux system, and Samba can realize the resource sharing between Linux and Windows systems, this paper tests and verifies through the actual operation. The results show that this integrated management improves the operational efficiency of Windows and Linux, and it is a good solution in heterogeneous network environment.
Key words: VNC server; Samba server; user control; Linux
0 引言
一个局域网内通常安装有不同操作系统的服务器,为了保证各种不同的服务器正常有效的运行,对网络服务器进行管理和维护是网络管理员最重要的日常工作。由于网络服务器通常分布在单位机房的多个不同位置,一个个直接登录操作非常麻烦,所以常常要借助远程控制的方式对这些服务器进行操作。在Windows平台下,通常是直接采用 终端服务的方式实现远程控制,而在Linux平台下,采用Telnet和SSH只能实现基于字符界面的远程控制,操作方便性远远没有X-Window方便,采用VNC(Virtual Network Computer)服务可以实现远程使用X-Window操作Linux系统。此外,由于经常需要将网络服务器和用户个人电脑中的某些文件资源进行共享,而Windows与Linux之间一般不能直接进行文件资源共享,因此就需要在Linux系统中安装Samba软件包。本文介绍利用VNC实现远程使用X-Window控制Linux系统,同时利用Samba实现Linux系统文件资源共享,所用实验环境为:服务器操作系统Centos 6.3,客户机操作系统Windows 7。
1 VNC与Samba简介
VNC是一款优秀的远程控制软件,由著名的 AT&T的欧洲研究实验室在2002年开发的轻量级远程控制计算机软件。VNC 是一款基于Linux操作系统的免费开源软件,使用简单、远程控制能力强,其性能可以和基于Windows系统的任何远程控制软件相媲美[2]。在Linux中,VNC包括以下四个命令:vncserver、vncviewer、vncpasswd和vncconnect。用户最常用到的两个命令是vncserver和vncviewer。VNC由两部分组成:客户端的应用程序(vncviewer)和服务器端的应用程序(vncserver)[3]。用户先将VNC server安装在被控端的系统上,才能在主控端执行VNC vierwer控制被控端。
Samba是一套让Linux系统能够应用Microsoft网络通讯协议的软件,是在Linux系统上实现SMB(Server Message Block)协议的一个免费软件,它使执行Linux系统的机器能与执行Windows系统的计算机共享资源。SMB是微软和英特尔在1987年制定的协议,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内不同的计算机提供文件及打印机等资源的共享服务[4-5]。Samba主要通过配置文件smb.conf进行配置,Samba主要提供4种服务:文件和打印服务、认证和授权服务、名称解析和服务通告。
2 VNC安装和配置
Centos系统默认情况下没有安装VNC,可使用#rpm -q vnc-server命令检查系统是否已经安装了VNC服务或者查看已安装了何种版本。若没有安装可以使用# yum install vnc-server 进行下载安装。
编辑/etc/sysconfig/vncservers配置文件,其中VNCSERVERS参数用于配置用户,VNCSERVERARGS用于设置用户的X-Window桌面分辨率,客户端连接个数、色深和TCP监听方式,设置VNC后需重启配置#/sbin/service vncserver restart,笔者的Centos配置如下。 VNCSERVERS="1:user1 2:user2 "
VNCSERVERARGS[1]="-geometry 1280x800
-alwaysshared -depth 24 -nolisten tcp"
VNCSERVERARGS[2]="-geometry 1280x800
-alwaysshared -depth 24 -nolisten tcp"
设置完配置文件后,要用root账号增加user1、user2用户并设置用户密码。
如果Centos服务器开启了防火墙功能,还需要设置允许TCP协议连接相应的端口,例如,可以使用以下命令允许桌面号为1的连接通过:# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT,其中桌面号1对应的端口是5901,桌面号2对应的端口是5902,依此类推。设置完后需要重启防火墙:# /sbin/service iptables restart。
若使用VNC远程使用X-Windows登录后直接使用图形界面,还要设置~/.vnc/xstartup文件,将第4第5行修改如下:
vncconfig -iconic &
unset SESSION_MANAGER
此外,还要同时修改最后两行:
#twm &
gnome-session $
最后还要设置VNC服务开机自启动 # hkconfig vncserver on。
3 Samba安装和配置
Centos系统一般默认没有安装Samba软件,安装Samba软件执行指令 # yum install Samba。Samba服务器安装完毕后会生成配置文件目录/etc/Samba和其他一些Samba可执行命令文件,/etc/samba/smb.conf是Samba的核心配置文件,/etc/init.d/smb是Samba的启动/关闭文件。在大规模网络中,smb.conf文件可能非常复杂,但对于小型网络,只要把几个需要共享的目录相关内容加入到smb.conf文件就可以了。
Samba 服务安装完后要进行相关配置,下面以笔者的Centos系统为例进行说明。
⑴ 首先以root身份登陆Centos服务器,建立usershare工作组和工作组内用户user1和user2,输入命令#groupadd usershare、# useradd -g usershare user1以及# useradd -g usershare user2。
⑵ 在home目录下,建立usershare和share目录,#makedir /home/usershare /home/share,将两个用户账号添加到Samba的账号中,执行命令# smbpasswd -a user1,并根据提示输入密码,user2与user1类似操作。
⑶ 打开并编辑smb.conf文件。
[global]
workgroup=MYGROUP
server string=Samba Server Version %v
hosts allow=127. 172.16.12.
log file=/var/log/samba/log.%m
max log size=50
security=share
passdb backend=tdbsam
[share]
path=/home/share
browseable=yes
writable=yes
guest ok=yes
[usershare]
comment=usershare
path=/home/usershare
valid users=@usershare
在上面的smb.conf文件中一共定义了三个部分。global 段定义的是全局变量,其中设置了Samba 服务器所在工作组、Samba Server的注释、设定日志文件的位置和最大容量、使用加密密码进行管理、指定密码文件等。share段和usershare段是由配置文件定义的两个共享资源,其中share为公开的共享目录,usershare是只能由特定用户组访问的共享资源,访问该目录资源时必须提供用户账号和口令。当设定了hosts allow之后,hosts allow里面没有指定IP的计算机将无法登入Samba主机共享资源。如果不限制IP或者使用防火墙进行管理,就不需要设置hosts allow。security=share方式,用户匿名访问即可登录Samba主机,安全级别最低。security=user方式,Samba主机通过用户名和密码验证Windows客户的身份,验证通过则允许其访问[6]。
配置好smb.conf 文件以后,使用# testparm 测试配置文件,如果配置没有出错,就会列出可装载的服务项,否则会显示出错信息。若要使修改的内容启用还要执行命令# service smb reload和重新启动Samba服务执行# service smb restart。
4 测试验证
笔者单位的Centos服务器的IP地址为172.16.9.14,从Windows 远程访问Centos服务器,VNC登录利用IP地址和桌面号访问:172.16.9.14:1,密码为user1的用户密码。在Windows中运行执行\\172.16.9.14访问上面建立的Samba目录,同样用user1用户账号密码登录。图1显示的是既用user1用户登录VNC远程访问操作Centos系统,同时在Windows中用user1账号访问Centos中的共享目录的结果。
5 注意事项
安装Windows系统的计算机与安装Linux系统的计算机须用网线和交换机连接起来,并配置同一网络字段的IP地址,用ping命令检查两台计算机的互通性,确保Windows系统与Linux系统在同一个局域网内。
VNC远程访问时如果Linux服务器开启了防火墙功能,还需要设置允许TCP协议连接相应的端口,VNC默认的端口号为5900,在访问时可以省略端口号直接使用桌面号访问。在Samba配置文件samba.conf中hosts allow的IP地址的字段包含需要访问的计算机IP字段。
6 结束语
在Windows系统下远程操作Linux网络服务器,采用VNC服务实现远程使用X-Window可极大的提高操作的友好性和便利性。Samba将当今流行的两大网络系统—Windows和Linux集成起来,共享两者的资源,充分发挥各自的优势,方便用户的各种应用需求。VNC和Samba服务结合一起使用,既能实现远程操作又能实现资源共享,极大的提高了用户的使用效率。
参考文献(References):
[1] 文东戈,孙昌立,王旭.Linux操作系统实用教程[M].清华大学
出版社,2009.
[2] 孔祥真,邢宏健.Linux操作系统VNC服务器的配置与管理[J].
网络安全技术与应用,2014.4:68-71
[3] 陈虹.基于Linux平台下的VNC远程控制实现方法[J].萍乡
高等专科学校学报,2007.3:25-26,35
[4] 王惠.Linux环境下Samba服务器的研究与实现[J].电脑知识
与技术,2016.4:62-63,69
[5] 钟志文,徐崇安.Linux和Windows服务器的统一管理初探[J].
计算机应用与软件,2010.1:191-192,203
[6] 何强,肖波,周新媛.利用Samba实现Linux和Windows文件
共享[J].长沙大学学报,2007.5:80-82