《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > Linux系统实现资源网络共享方法的研究
Linux系统实现资源网络共享方法的研究
2014年微型机与应用第15期
张卫芳,张永坚,高 赛
山东建筑大学 信息与电气工程学院,山东 济南
摘要: 针对Linux系统应用中资源网络共享的方法,研究采用NFS、Samba、FTP和其他软件工具实现共享的途径及其特殊性,实现安全、可靠、稳定和完善的Linux系统资源共享服务。
Abstract:
Key words :

  摘  要: 针对Linux系统应用中资源网络共享的方法,研究采用NFS、Samba、FTP和其他软件工具实现共享的途径及其特殊性,实现安全、可靠、稳定和完善的Linux系统资源共享服务。

  关键词嵌入式;操作系统;Linux系统;网络服务;资源共享

  嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的出现解决了嵌入式软件开发标准化的难题。

  嵌入式操作系统是嵌入式应用软件的基础和开发平台。近两年来,Linux在嵌入式领域异军突起,它的独特性使其作为开发嵌入式产品的操作系统具备巨大的潜力。Linux具有一些独特的优势:层次结构及内核完全开放;强大的网络支持功能;具备一整套工具链;广泛的硬件支持特性。目前,Linux主要应用于服务器、桌面和嵌入式系统。

  Linux是一个网络操作系统,在一般操作系统的功能上增加了网络功能,具体包括如下功能。

  (1)实现网络中各计算机之间的通信和资源共享;

  (2)提供多种网络服务软件;

  (3)提供网络用户的应用程序接口。

  而且Linux与其他商业化的网络操作系统不同,它是由以Linus Torvalds为首的一批Internet上的志愿者开发的,完全免费,并与另一著名的网络操作系统UNIX完全兼容,是一个具有很高性价比的网络操作系统[1]。Linux系统核心结构图如图1所示。

001.jpg

  1 Linux网络服务类型

  网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。随着技术的不断发展,网络已经成为了人们获取、利用、处理和交换资源的重要方式,因此,无论是在工程项目实践还是在日常学习生活中,如何建立信息高速流通通道,实现网络资源共享都显得十分重要[2]。

  Linux具有强大的网络功能,可以和多种网络进行集成,实现不同系统平台之间的资源共享管理。当Linux作为网络中的资源共享服务器时,按照所服务系统的不同,一般有3种方式[3]。

  (1)Linux客户访问Linux服务器;

  (2)Windows客户与Linux服务器之间的相互访问;

  (3)Windows客户或者其他类型的客户访问Linux服务器。

  其中每种访问方式实现的工具是不同的,如图2所示。

002.jpg

  2 Linux网络资源共享实现方法

  以下讨论基于Red Hat Enterprise Linux 5.0版本。

  2.1 网络文件系统NFS

  网络文件系统NFS(Network File System)实际上是一种Linux系统之间文件共享协议,它与HTTP和FTP协议不同,不需要把文件从服务器下载到本地来访问。

  NFS是通过将NFS服务器的文件系统安装到客户机的文件系统上而得以实现的。NFS客户端通过挂载NFS文件系统的方式访问NFS服务器中输出的共享目录,同一台主机在系统访问过程中既可以是NFS服务器也可以作为NFS客户机。

  在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。

  2.1.1 配置NFS服务器

  要配置NFS服务器,可以通过使用文本编辑器(如vi或gedit)修改配置文件/etc/exports的方法来完成。   /etc/exports文件的格式为:

  directory_to_export NFS_client(permissions)[NFS_client(permissions)…]

  在每次改变/etc/exports的时候,必须把改变通知给NFS守护进程,或使用以下命令来重新载入配置文件:

  /sbin/service nfs reload

  除了以手动方式配置NFS服务器外,还可以通过使用图形界面下的NFS服务器配置工具进行配置。NFS服务器配置工具如图3所示。

003.jpg

  单击“增加”,出现如图4所示的界面,可以在这个界面中添加要导出的文件系统。

004.jpg

  2.1.2 启动和停止NFS服务

  要启动或停止NFS服务,必须以root登录并使用以下命令来启动NFS守护进程,其命令格式如下:

  /sbin/service nfs[start|stop]

  要启动NFS,在“#”提示符下键入以下命令行:

  /sbin/service nfs start

  该命令在执行过程中会显示启动过程是否正确,如图5所示。

005.jpg

  要停止NFS,则在“#”提示符下键入以下命令行:

  /sbin/service nfs stop

  该命令会显示如图6所示窗口。

006.jpg

  可以使用以下命令来查看NFS守护进程的状态,从而确定命令操作是否成功。

  /sbin/service nfs status

  2.1.3 使用NFS文件系统

  安装远程文件系统与安装本地文件系统相同,都要使用mount命令,所不同的是,需要在文件系统路径名之前加上远程主机的名字。mount命令格式为:

  mount [-Fnfs][-o option] hostname:pathname mountpoint

  2.2 Samba服务器

  Samba是在Linux系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。信息服务块SMB(Server Messages Block)是一种在局域网上共享文件和打印机的通信协议。SMB协议是客户机/服务器型协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。可以通过Samba服务程序的使用来实现Linux和Windows系统之间的资源共享[4]。

  2.2.1 Samba的组成

  组成Samba运行的有两个服务,一个是SMB,另一个是NMB。SMB是Samba的核心启动服务,只有SMB服务启动,才能实现文件的共享;而NMB服务是负责解析的,类似于DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来。如果NMB服务没有启动,就只能通过IP来访问共享文件。

  2.2.2 Samba的配置

  Samba服务器配置工具是用来管理Samba共享、用户以及基本服务器设置的图形化界面。配置Samba服务器的第一步是配置服务器的基本设置和几个安全选项,如图7和图8所示。

007.jpg

  配置Samba服务器的第二步是添加Samba用户,如图9所示。接下来是添加共享,其窗口如图10所示。

008.jpg

  2.2.3 启动和停止Samba服务器

  使用以下命令来启动守护进程:/sbin/service smb start

  使用以下命令来停止守护进程:/sbin/service smb stop

  2.2.4 连接Samba共享

  要从Microsoft Windows机器上连接Linux Samba共享,可以使用“网上邻居”或图形化文件管理器。也可用DOS命令通过IP地址进行登录,例如:\\192.168.0.112。

  2.3 FTP服务器

  FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和“上传”(Upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中拷贝至远程主机上,用户可通过客户机程序向(从)远程主机上传(下载)文件。

  一般在各种Linux的发行版中,默认带有的FTP软件是VSFTP,从各个Linux发行版对VSFTP的认可可以看出,VSFTP是一款不错的FTP软件。

  2.3.1 安装VSFTPD服务器

  根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和服务器连接后,在登录提示中输入Anonymous(匿名),即可访问服务器。

  可以在终端命令窗口输入以下命令对系统是否安装vsftpd软件进行验证:

  #rpm-qa grep vsftpd

  如果结果显示为“vsftpd-1.1.3-8”(软件版本),则说明系统已经安装vsftpd服务器。如果系统未安装,那么在终端命令窗口运行以下命令即可开始安装进程:

  #rpm-ivh vsftpd-1.1.3-8.i386.rpm

  2.3.2 启动、停止和重新启动vsftpd服务

  FTP服务的启动、停止和重新启动的命令为:service vsftpd strat/stop/restart。

  2.3.3 VSFTPD服务器的配置

  配置VSFTPD服务器是使用FTP服务功能的重要步骤,配置服务器主要包括用户登录控制、用户权限控制、用户连接和超时选项以及服务器日志和欢迎信息4项内容。

  3 其他跨平台访问Linux系统的工具

  除上述Linux系统中常用的实现资源网络共享的几种方法外,在一些特殊的情况下,往往利用一些工具软件来实现跨平台访问Linux系统。例如Vmware Tools可直接实现虚拟机与主机系统之间的资源共享,不需要其他服务程序[5]。

  SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,是一种Windows下登录UNIX或Linux服务器主机的软件。

  WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。使用WinSCP可以连接到Linux系统并执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重命名、改变属性、建立符号链接和快捷方式。

  Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具。Putty具有体积很小、操作简单等特点,且所有的操作都在一个控制面板中实现。在Putty的控制面板中配置好IP地址、协议端口和登录协议等参数后,可以实现对Linux主机的远程登录。

  本文介绍了Linux系统中几种实现资源网络共享的方法。对于只有Linux系统的网络,推荐使用NFS。与Samba相比,NFS的数据传输能力更强而且快,但是安全漏洞比较多。对于Windows与Linux共存的局域网,推荐使用设置比较复杂但功能强大的Samba服务[6]。在广域网中,推荐使用实现文件传输功能的FTP服务器。FTP功能强大且比较安全,但是其缺点是无法直接修改主机上的文件数据,文件首先要下载到客户端,然后才能修改上传回服务器。

  此外,在一些特殊的情况下,用户可根据自己的需要使用VMware Tools、SecureCRT、WinSCP、Putty等工具来实现Linux系统网络资源的共享。本文简单介绍了Linux系统实现资源网络共享的几种方法,用户可根据需要选择合适的方案,从而实现安全、可靠、稳定和完善的资源共享服务。

  参考文献

  [1] 华清远见嵌入式培训中心.嵌入式Linux应用程序开发[M].北京:人民邮电出版社,2009.

  [2] Song Wei, Zhuang Weihua. Multi-service load sharing for resource management in the cellular/WLAN integrated network[J]. IEEE Transactions on Wireless Communications,2009,8(2):725-735.

  [3] 余立强.Linux系统的文件共享服务解决方案[J].电脑学习,2004(10):37-39.

  [4] 吴闽泉,张志毅,刘俊平.Linux和Windows系统互操作方法[J].计算机工程与应用,2003(24):126-128.

  [5] 胡兰兰.Linux实现文件共享方法分析[J].三门峡职业技术学院学报,2010,9(2):107-110.

  [6] 胡建华.实现Linux和Windows之间资源共享——Samba技术的应用[J].企业科技与发展,2009(6):13-15.


此内容为AET网站原创,未经授权禁止转载。