方輝++曲俊杰
摘 要: 對(duì)服務(wù)器進(jìn)行管理和維護(hù)是網(wǎng)絡(luò)管理員的重要工作,但由于服務(wù)器通常不在本地,且Windows與Linux操作系統(tǒng)之間存在文件資源共享問(wèn)題。VNC可以實(shí)現(xiàn)遠(yuǎn)程使用X-Window控制Linux系統(tǒng),而Samba可以實(shí)現(xiàn)Linux與Windows系統(tǒng)中資源共享,文章通過(guò)實(shí)際操作進(jìn)行了測(cè)試驗(yàn)證。結(jié)果表明,這種集成管理提高了Windows和Linux的操作使用效率,是異構(gòu)網(wǎng)絡(luò)環(huán)境下很好的解決方案。
關(guān)鍵詞: VNC服務(wù); Samba服務(wù); 用戶控制; Linux
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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 引言
一個(gè)局域網(wǎng)內(nèi)通常安裝有不同操作系統(tǒng)的服務(wù)器,為了保證各種不同的服務(wù)器正常有效的運(yùn)行,對(duì)網(wǎng)絡(luò)服務(wù)器進(jìn)行管理和維護(hù)是網(wǎng)絡(luò)管理員最重要的日常工作。由于網(wǎng)絡(luò)服務(wù)器通常分布在單位機(jī)房的多個(gè)不同位置,一個(gè)個(gè)直接登錄操作非常麻煩,所以常常要借助遠(yuǎn)程控制的方式對(duì)這些服務(wù)器進(jìn)行操作。在Windows平臺(tái)下,通常是直接采用 終端服務(wù)的方式實(shí)現(xiàn)遠(yuǎn)程控制,而在Linux平臺(tái)下,采用Telnet和SSH只能實(shí)現(xiàn)基于字符界面的遠(yuǎn)程控制,操作方便性遠(yuǎn)遠(yuǎn)沒(méi)有X-Window方便,采用VNC(Virtual Network Computer)服務(wù)可以實(shí)現(xiàn)遠(yuǎn)程使用X-Window操作Linux系統(tǒng)。此外,由于經(jīng)常需要將網(wǎng)絡(luò)服務(wù)器和用戶個(gè)人電腦中的某些文件資源進(jìn)行共享,而Windows與Linux之間一般不能直接進(jìn)行文件資源共享,因此就需要在Linux系統(tǒng)中安裝Samba軟件包。本文介紹利用VNC實(shí)現(xiàn)遠(yuǎn)程使用X-Window控制Linux系統(tǒng),同時(shí)利用Samba實(shí)現(xiàn)Linux系統(tǒng)文件資源共享,所用實(shí)驗(yàn)環(huán)境為:服務(wù)器操作系統(tǒng)Centos 6.3,客戶機(jī)操作系統(tǒng)Windows 7。
1 VNC與Samba簡(jiǎn)介
VNC是一款優(yōu)秀的遠(yuǎn)程控制軟件,由著名的 AT&T的歐洲研究實(shí)驗(yàn)室在2002年開(kāi)發(fā)的輕量級(jí)遠(yuǎn)程控制計(jì)算機(jī)軟件。VNC 是一款基于Linux操作系統(tǒng)的免費(fèi)開(kāi)源軟件,使用簡(jiǎn)單、遠(yuǎn)程控制能力強(qiáng),其性能可以和基于Windows系統(tǒng)的任何遠(yuǎn)程控制軟件相媲美[2]。在Linux中,VNC包括以下四個(gè)命令:vncserver、vncviewer、vncpasswd和vncconnect。用戶最常用到的兩個(gè)命令是vncserver和vncviewer。VNC由兩部分組成:客戶端的應(yīng)用程序(vncviewer)和服務(wù)器端的應(yīng)用程序(vncserver)[3]。用戶先將VNC server安裝在被控端的系統(tǒng)上,才能在主控端執(zhí)行VNC vierwer控制被控端。
Samba是一套讓Linux系統(tǒng)能夠應(yīng)用Microsoft網(wǎng)絡(luò)通訊協(xié)議的軟件,是在Linux系統(tǒng)上實(shí)現(xiàn)SMB(Server Message Block)協(xié)議的一個(gè)免費(fèi)軟件,它使執(zhí)行Linux系統(tǒng)的機(jī)器能與執(zhí)行Windows系統(tǒng)的計(jì)算機(jī)共享資源。SMB是微軟和英特爾在1987年制定的協(xié)議,是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議,它為局域網(wǎng)內(nèi)不同的計(jì)算機(jī)提供文件及打印機(jī)等資源的共享服務(wù)[4-5]。Samba主要通過(guò)配置文件smb.conf進(jìn)行配置,Samba主要提供4種服務(wù):文件和打印服務(wù)、認(rèn)證和授權(quán)服務(wù)、名稱解析和服務(wù)通告。
2 VNC安裝和配置
Centos系統(tǒng)默認(rèn)情況下沒(méi)有安裝VNC,可使用#rpm -q vnc-server命令檢查系統(tǒng)是否已經(jīng)安裝了VNC服務(wù)或者查看已安裝了何種版本。若沒(méi)有安裝可以使用# yum install vnc-server 進(jìn)行下載安裝。
編輯/etc/sysconfig/vncservers配置文件,其中VNCSERVERS參數(shù)用于配置用戶,VNCSERVERARGS用于設(shè)置用戶的X-Window桌面分辨率,客戶端連接個(gè)數(shù)、色深和TCP監(jiān)聽(tīng)方式,設(shè)置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"
設(shè)置完配置文件后,要用root賬號(hào)增加user1、user2用戶并設(shè)置用戶密碼。
如果Centos服務(wù)器開(kāi)啟了防火墻功能,還需要設(shè)置允許TCP協(xié)議連接相應(yīng)的端口,例如,可以使用以下命令允許桌面號(hào)為1的連接通過(guò):# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT,其中桌面號(hào)1對(duì)應(yīng)的端口是5901,桌面號(hào)2對(duì)應(yīng)的端口是5902,依此類推。設(shè)置完后需要重啟防火墻:# /sbin/service iptables restart。
若使用VNC遠(yuǎn)程使用X-Windows登錄后直接使用圖形界面,還要設(shè)置~/.vnc/xstartup文件,將第4第5行修改如下:
vncconfig -iconic &
unset SESSION_MANAGER
此外,還要同時(shí)修改最后兩行:
#twm &
gnome-session $
最后還要設(shè)置VNC服務(wù)開(kāi)機(jī)自啟動(dòng) # hkconfig vncserver on。
3 Samba安裝和配置
Centos系統(tǒng)一般默認(rèn)沒(méi)有安裝Samba軟件,安裝Samba軟件執(zhí)行指令 # yum install Samba。Samba服務(wù)器安裝完畢后會(huì)生成配置文件目錄/etc/Samba和其他一些Samba可執(zhí)行命令文件,/etc/samba/smb.conf是Samba的核心配置文件,/etc/init.d/smb是Samba的啟動(dòng)/關(guān)閉文件。在大規(guī)模網(wǎng)絡(luò)中,smb.conf文件可能非常復(fù)雜,但對(duì)于小型網(wǎng)絡(luò),只要把幾個(gè)需要共享的目錄相關(guān)內(nèi)容加入到smb.conf文件就可以了。
Samba 服務(wù)安裝完后要進(jìn)行相關(guān)配置,下面以筆者的Centos系統(tǒng)為例進(jìn)行說(shuō)明。
⑴ 首先以root身份登陸Centos服務(wù)器,建立usershare工作組和工作組內(nèi)用戶user1和user2,輸入命令#groupadd usershare、# useradd -g usershare user1以及# useradd -g usershare user2。
⑵ 在home目錄下,建立usershare和share目錄,#makedir /home/usershare /home/share,將兩個(gè)用戶賬號(hào)添加到Samba的賬號(hào)中,執(zhí)行命令# smbpasswd -a user1,并根據(jù)提示輸入密碼,user2與user1類似操作。
⑶ 打開(kāi)并編輯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文件中一共定義了三個(gè)部分。global 段定義的是全局變量,其中設(shè)置了Samba 服務(wù)器所在工作組、Samba Server的注釋、設(shè)定日志文件的位置和最大容量、使用加密密碼進(jìn)行管理、指定密碼文件等。share段和usershare段是由配置文件定義的兩個(gè)共享資源,其中share為公開(kāi)的共享目錄,usershare是只能由特定用戶組訪問(wèn)的共享資源,訪問(wèn)該目錄資源時(shí)必須提供用戶賬號(hào)和口令。當(dāng)設(shè)定了hosts allow之后,hosts allow里面沒(méi)有指定IP的計(jì)算機(jī)將無(wú)法登入Samba主機(jī)共享資源。如果不限制IP或者使用防火墻進(jìn)行管理,就不需要設(shè)置hosts allow。security=share方式,用戶匿名訪問(wèn)即可登錄Samba主機(jī),安全級(jí)別最低。security=user方式,Samba主機(jī)通過(guò)用戶名和密碼驗(yàn)證Windows客戶的身份,驗(yàn)證通過(guò)則允許其訪問(wèn)[6]。
配置好smb.conf 文件以后,使用# testparm 測(cè)試配置文件,如果配置沒(méi)有出錯(cuò),就會(huì)列出可裝載的服務(wù)項(xiàng),否則會(huì)顯示出錯(cuò)信息。若要使修改的內(nèi)容啟用還要執(zhí)行命令# service smb reload和重新啟動(dòng)Samba服務(wù)執(zhí)行# service smb restart。
4 測(cè)試驗(yàn)證
筆者單位的Centos服務(wù)器的IP地址為172.16.9.14,從Windows 遠(yuǎn)程訪問(wèn)Centos服務(wù)器,VNC登錄利用IP地址和桌面號(hào)訪問(wèn):172.16.9.14:1,密碼為user1的用戶密碼。在Windows中運(yùn)行執(zhí)行\\172.16.9.14訪問(wèn)上面建立的Samba目錄,同樣用user1用戶賬號(hào)密碼登錄。圖1顯示的是既用user1用戶登錄VNC遠(yuǎn)程訪問(wèn)操作Centos系統(tǒng),同時(shí)在Windows中用user1賬號(hào)訪問(wèn)Centos中的共享目錄的結(jié)果。
5 注意事項(xiàng)
安裝Windows系統(tǒng)的計(jì)算機(jī)與安裝Linux系統(tǒng)的計(jì)算機(jī)須用網(wǎng)線和交換機(jī)連接起來(lái),并配置同一網(wǎng)絡(luò)字段的IP地址,用ping命令檢查兩臺(tái)計(jì)算機(jī)的互通性,確保Windows系統(tǒng)與Linux系統(tǒng)在同一個(gè)局域網(wǎng)內(nèi)。
VNC遠(yuǎn)程訪問(wèn)時(shí)如果Linux服務(wù)器開(kāi)啟了防火墻功能,還需要設(shè)置允許TCP協(xié)議連接相應(yīng)的端口,VNC默認(rèn)的端口號(hào)為5900,在訪問(wèn)時(shí)可以省略端口號(hào)直接使用桌面號(hào)訪問(wèn)。在Samba配置文件samba.conf中hosts allow的IP地址的字段包含需要訪問(wèn)的計(jì)算機(jī)IP字段。
6 結(jié)束語(yǔ)
在Windows系統(tǒng)下遠(yuǎn)程操作Linux網(wǎng)絡(luò)服務(wù)器,采用VNC服務(wù)實(shí)現(xiàn)遠(yuǎn)程使用X-Window可極大的提高操作的友好性和便利性。Samba將當(dāng)今流行的兩大網(wǎng)絡(luò)系統(tǒng)—Windows和Linux集成起來(lái),共享兩者的資源,充分發(fā)揮各自的優(yōu)勢(shì),方便用戶的各種應(yīng)用需求。VNC和Samba服務(wù)結(jié)合一起使用,既能實(shí)現(xiàn)遠(yuǎn)程操作又能實(shí)現(xiàn)資源共享,極大的提高了用戶的使用效率。
參考文獻(xiàn)(References):
[1] 文東戈,孫昌立,王旭.Linux操作系統(tǒng)實(shí)用教程[M].清華大學(xué)
出版社,2009.
[2] 孔祥真,邢宏健.Linux操作系統(tǒng)VNC服務(wù)器的配置與管理[J].
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014.4:68-71
[3] 陳虹.基于Linux平臺(tái)下的VNC遠(yuǎn)程控制實(shí)現(xiàn)方法[J].萍鄉(xiāng)
高等??茖W(xué)校學(xué)報(bào),2007.3:25-26,35
[4] 王惠.Linux環(huán)境下Samba服務(wù)器的研究與實(shí)現(xiàn)[J].電腦知識(shí)
與技術(shù),2016.4:62-63,69
[5] 鐘志文,徐崇安.Linux和Windows服務(wù)器的統(tǒng)一管理初探[J].
計(jì)算機(jī)應(yīng)用與軟件,2010.1:191-192,203
[6] 何強(qiáng),肖波,周新媛.利用Samba實(shí)現(xiàn)Linux和Windows文件
共享[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2007.5:80-82