Linux和Windows是目前比较流行的操作系统,在许多企业的内部网中同时存在这两种操作系统。为提高企业的资源利用率,需要能在这些不同系统之间共享资源,比如可以从Windows的客户机访问Linux 服务器的共享文件夹或打印设备,或者从Linux 客户机上使用Windows服务器的磁盘空间和打印机等。为此,就需要进行Linux和Windows网络集成。
实现Linux和Windows网络集成的方法有很多,其中主要的3种方法如下:
● 简单的通信方式:利用telnet、FTP、HTTP等命令和协议实现网络间通信;
● 网络文件系统NFS:NFS可以在Unix主机之间、Linux和Windows主机之间实现资源共享;
● SMB协议:通过在Linux主机上安装支持SMB协议的服务器和客户端软件,可以方便地实现网络集成。
现阶段,在国内以Windows NT/2000为主的中小型局域网居多,绝大多数的用户都熟悉Windows操作平台。同时,越来越多的单位希望应用具有良好性能价格比的Linux作为网关和网络服务器搭建企业网(Intranet)以及接入Internet。在上述几种方案中,基于SMB协议的集成方案由于具有简单、透明和低成本等优点,成为企业的首选。这种方式的突出优点是将Linux主机直接集成到了Windows网络中。
SMB协议和Samba
SMB协议用于实现局域网中计算机之间文档、打印设备和其他计算机资源的共享。
在Linux或Unix平台上,支持SMB协议的软件有很多,其中比较受欢迎的当数Samba。利用它,人们可以方便地实现Linux与Windows网络的集成。Samba由一组套件组成,主要包括: SMB服务器(smbd)、NetBIOS服务器(nmbd)、SMB客户端(smbclient)和其他工具。
Samba的安装
1. 安装
以root用户身份登录后,输入命令运行ps -x检查系统中是否存在smbd和nmbd进程。若有,输入关掉所有的SMB进程的命令:
/etc/rc. d/init. d/smb stop
再卸掉原有的老版本的Samba:
rpm -e Samba
最后安装新的Samba(假定在/home/myfiles目录下)
rpm -I /home/ myfiles /smbfs-2.0.7-20000425. i386. rpm。
2. 启动
安装成功后,用户有几种启动Samba的方法。其中手工启动方法如下:
输入命令:
/usr/sbin/smbd -D
/usr/sbin/nmbd -D
或者输入命令:
/etc/rc. d/init. d/smb start
如果需要把Samba服务器放到inetd中执行,则可以在/etc/inetd. conf文件中加入下述语句:
# SAMBA NetBIOS services
netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
最后运行:
/etc/rc. d/init. d/inet restart
配置Samba服务器
Samba的配置信息都存放在smb. conf文件中。配置信息分为两部分:第一部分是全局参数区[globals],设置的是一些公用信息; 第二部分是资源共享区,设置服务器输出的目录资源和打印资源。用户可以按需要定义共享目录或打印资源。
下面以一个简单的例子来说明smb. conf的使用(如下图所示)。
系统结构图
上图中myserver是Linux的samba服务器,它把本地打印机输出为网络打印机lp,并把本地目录/tmp输出为共享目录pubdir。同时用户可访问自己的Linux主目录。下面是它的smb. conf文件:
[global] # 全局参数区
workgroup = mynet #工作组名或NT域名 server string = Samba Server #服务器的注释 printcap name = /etc/printcap # 加载打印机
load printers = ye
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd [homes] # 用户主目录
comment = Home Dictories
browseable = no
writable = yes
[printers] # 配置网络打印机
path = /var/spool/samba # 假脱机路径 browseable = no
public = yes
writable = no
printable = yes
[pubdir] # 共享目录
path = /tmp # 目录的路径
public = yes
writable = yes
printable = no
修改后,可以运行testparm检查配置是否成功。
配置完smb. conf后,还需要添加Samba服务器的用户。因为Samba默认的安全级是用户级(security = user),所以Samba用户必须是Linux系统用户。以root用户身份登录,添加Linux用户,并设定密码:
Adduser smbuser
passwd smbuser
把用户smbuser加入到Samba 服务器用户中并设定密码:
smbpasswd -a smbuser
重新启动Samba服务器。这时从myclient可以浏览和访问Linux上的资源。
使用Samba客户端
支持SMB的客户端工具有很多,一般的Windows 9x/NT/2000平台只要安装了TCP/IP就能访问Samba服务器。Smbclient是Linux下的SMB客户端工具。如访问SMB服务器myserver上的\\ myserver \pubdir资源:
smbclient \\\\ myserver \\pubdir
此时系统会进入Samba交互界面,该界面和FTP的操作类似,如输入ls列出资源的目录,输入get可以拷贝文件到本地,输入help可列出命令帮助等。