笔者使用家用电脑已经有7年的时间,随着计算机的软件、硬件的不断升级换代,家里已经买了三个不同配置的计算机。我想现在家庭中拥有两台以上的计算机的朋友也有很多,如何充分发挥好它们功能,特别是一些老爷机是许多朋友关心的话题,这里介绍一下笔者的Linux家庭网络的网络邻居的所有方法。
相比较而言,在Windows中对网络的配置和使用要简单一些。一台使用Windows的机器,一旦在局域网中安装、设置完成以后,在局域网内部使用网上邻居和其它计算机的共享目录、文件、打印机等就变得非常简单。在Linux中,资源的共享和访问相对Windows要复杂一些。而在同时包含有Linux机器和Windows机器的局域网环境中(很多企业在未来很长一段时间里将维持这样一种状况),问题更是复杂得多。
一. linux网络邻居的基础samba和安装
大家知道,Windows之间可以利用“网络邻居”来实现资源共享,而Linux之间可以使用NFS来实现资源共享。那么,Linux与Windows之间呢?
Linux可以通过Samba来实现和Windows主机互通有无的。Samba采用Client/Server架构,执行Samba客户端程序,就可以访问Windows主机上的共享资源;而运行Samba服务器,Windows主机就可以访问Linux上的共享资源。Samba 为 UNIX 和 Microsoft Windows 之间的通信架起了一座桥梁。
它是一套程序,支持基于 UNIX 的主机与基于 Windows 的主机共享文件与打印机。除了共享文件和打印机之外,Samba 还可以充当 Windows 域控制器(Domain Controller),这样您就可以通过 UNIX 服务器管理 Windows 网络。作为域控制器, Samba 让您可以为漫游的(roaming)或者本地的用户创建登录配置文件(login profiles),并使用 UNIX 认证方案来对他们进行认证。
Samba 软件的功能:
×共享Linux 的文件系统。
×共享安装在Samba 服务器上的打印机。
×支持Windows 客户使用网上邻居浏览网络。
×使用Windows 系统共享的文件和打印机。
×支持Windows 域控制器和Windows 成员服务器对使用Samba 资源的用户进行认证。
×支持WINS 名字服务器解析及浏览。
RHEL 4.0中提供了 Samba 服务器的 RPM 包,有如下几个:
×samba-common:包括 Samba 服务器和客户均需要的文件。
×samba:Samba 服务端软件。
×samba-client:Samba 客户端软件。
×system-config-samba:Samba 服务的 GUI 配置工具。
可以通过下列命令确定是否已经安装了Samba 。
# rpm –qa | grep samba
若出现这4个软件包,则表示已经安装了Samba ,否则必须安装Samba 。 如果没有安装过Samba软件包,则可以插入RHEL 的安装光盘,然后按照下面的步骤进行安装(以KDE环境为例):
1. 鼠标依次单击主选单→系统设置→“软件包”选单项,将会打开“软件包管理”对话框。
2. 在该对话框里找到“Windows文件服务器”,确保已经勾选该选项,然后单击对话框底部的“更新”按钮。
3. 安装Samba软件包。
4 启动samba方法:
#/etc/rc.d/init.d/smb start
starting SMB services: [OK] (启动了SMB服务程序)
starting NMB services: [OK] (启动了NetBIOS名称解析服务程序)
在使用过程中,如果用户不知道服务是否运行,可使用“/etc/rc.d/init.d/smb status”命令来查看。如果想在系统启动时运行Samba,在RHEL 4.0中可以按以下方法进行:用ntsysv设置。以root权限运行命令:ntsysv,在smb服务选项加上*(用空格键),然后重新启动系统,在每次系统启动时就可以自动启动Samba服务了。
二. GNOME下的网络邻居
使用smbclient命令,可以很方便地对Windows主机共享目录进行查询和其它操作。但是,大家已经习惯了Windows图形界面,使用命令总感觉不太方便。
其实在Red Hat里面,也一样可以使用图形界面对Windows共享目录进行操作。这里介绍一位“幕后英雄”——Nautilus,它可算是GNOME环境里的 Shell(相当于Windows下的Explorer)。Nautilus既是Red Hat的文件管理器,又可以充任浏览器,还可以播放多媒体文件、浏览图片等。
它现在又多了一个职责,就是担当Linux下的网络邻居。要打开Nautilus窗口,只需双击GNOME桌面上的主目录图标即可。要查询Windows 工作组里的主机,可以在Nautilus窗口的地址栏(Location)里输入“smb://工作组名称”,然后回车即可。
由于Nautilus本身就是Red Hat的文件管理器,所以可以任意往Windows共享目录里拷贝文件、删除文件、创建目录等。不过Nautilus还是有不少缺点的,例如对中文支持不是很好,不能正确显示中文的文件名,不支持直接挂载Windows共享目录。
三. 使用LinNeighborhood网络邻居
LinNeighborhood是一个非常易于使用的、源码开放的第三方网络工具。其作者是Hans Schmid和Richard Stemmer。通过该工具,可以使Linux计算机轻松地查看局域网内的Windows共享资源,也可以查看和访问局域网内其它Linux计算机上的共享资源。
简言之,LinNeighborhood就是一个带有图形界面的Samba。可以在互联网上查找其rpm软件包,当LinNeighborhood启动时,LinNeighborhood的可执行文件位于/usr/bin目录下。它显示的是本地 Linux机器的域名和在局域网上发现的各工作组名(如下图所示)。其中X-41是一台运行Windows 2000专业版的机器,doc是该机器上共享的一个目录;host.vao.net是本地Linux计算机。
局域网内处于连接状态的几台机器
首先在桌面上建一个名为“1”的目录目录。下面要做的事情就是挂载X-41机器上的doc目录,这里面存放的是笔者要使用的文档。在doc文件夹上双击鼠标左键,这时就会弹出一个挂载对话框(如下图所示)。
挂载对话框
“Mount Dialog”对话框的第一个文本框显示的是远程计算机上共享目录的路径,对此无需改变。第二个文本框是Mount Point(挂载点),这里显示的是想要挂载共享目录至本地机器上的目录。在缺省情况下,这个目录是/mnt。如果想让所有远程共享的资源都出现在前面创建的“目录”文件夹中,并且要出现在与相应主机对应的目录之下,要做到与之对应,需要把“/mnt”改为“/root/desktop/1/”。
挂载完成后,LinNeighborhood窗口中就会在doc的后面和整个窗口的底部显示出相关的挂载点信息(如下图所示)。
挂载完成的doc目录
这时,就可以看到挂载的远程目录出现在“1”窗口中。现在打开桌面上的1文件夹,如果一切正常的话,就会看到远程的内容位于 “/roo/desktop/1/”之下,这时就可以访问共享文件夹里的内容,如果对方也同时在使用这些文件,那么就要求你对这些文件必须有读写的权限才能访问它们。要在“1”中添加更多的远程共享文件夹,只需要重复上述过程。
管理远程计算机上的账号:为了能够访问远程计算机上的共享资源,需要有一个远程计算机的账号。如果远程计算机是一台Linux机器,那么该机器必须运行有Samba,并且机器的管理员必须把你添加为它的一个用户。
方法很简单,只需运行命令“smbpasswd -a 你的用户名”即可。这样每一次当你加载一个远程计算机时,LinNeighborhood就会弹出一个窗口要求你登录。这时候,输入账号就可以访问远程计算机的共享资源了。 如果远程计算机是一台Windows 2000的机器(如前面所述)也非常简单。该机器的系统管理员可以通过以下步骤来添加一个用户:开始→设置→控制面板→用户名和密码→增加,然后按照提示完成整个过程。
这样,每一次Linux机器加载这个Windows机器时也会弹出一个对话框,要求输入用户名和密码。登录完成后,就可以使用远程计算机的共享资源了。
四. 使用xfsamba网络邻居
在KDE下要实现网络邻居,可以采用第三方的工具软件xfsamba。xfsamba可以到http://linux.imp.mx/xfsamba/archive/ 下载它的RPM版本。这里要注意的是,xfsamba是以Samba为基础的,所以必须事先安装好Samba软件包。安装完毕后,在终端窗口输入xfsamba回车即可打开该程序窗口。
作为一款第三方的工具软件,xfsamba的功能非常强大,不但可以对Windows共享资源进行查看、复制、粘贴、删除等操作,而且还可以直接将 Windows共享目录映射为本地目录。更重要的是,和LinNeighborhood相比0.47版本的xfsamba完全是中文界面。
挂载共享目录
xfsamba可以很方便地把共享目录挂载到本地文件系统。只需选中Windows主机上的某个共享目录,然后用鼠标依次单击“工具”选单→ “Mount remote share”选单项,即可打开一个对话框。xfsamba会自动将远程共享挂载到/tmp/xfsamba/RemoteShareName目录下,其中的RemoteShareName代表Windows共享目录的名称,如下图所示。
加载共享目录
文件拖放功能
利用xfsamba可以很方便地在共享目录和本地目录之间实现文件拖放。不过,此处最好使用xfsamba自带的本地文件浏览器xftree。单击xfsamba工具栏上的“xftree”按钮,即可打开本地文件浏览器,如下图所示。
xfsamba可以很方便地在共享目录和本地目录之间实现文件拖放
Linux中有很多种方法可以实现与远程计算机的文件、打印等资源的共享。本文介绍的是是一种更适合于初学者的方法,特别是那些刚从Windows转而使用Linux的用户。需要说明的是它适合对于安全性能要求不高的家庭和SOHO用户。