samba是一个能让你的Unix计算机和其它MS Windows计算机相互共享资源的软件。
samba提供有关资源共享的三个功能,包括:smbd,执行它可以使Unix能够共享资源给其它的计算机;而smbclient就是让Unix去存取其它计算机的资源;最后一个smbmount,则是类似MS Windwos下“网络磁盘驱动器”的功能,可以让你把其它计算机的资源挂在自己的档案系统下。
它们功能虽然简单,但没有samba,Unix和Windows的资源就很难共享。samba的功能十分实用,虽然没用亮丽的外表,但在局域网络中,它的确是一个很重要的工具。
Samba安装
----------------------------------------------------------------------------
在安装Linux的时候没有将Samba一起安装上去,后面想安装光盘上附带的RPM版Samba套件,却发现有个libcup组件没有安装,在安装libcup组件的进修又有好几个套件需要安装,很是麻烦。这个RPM好是好用,但就是这个依赖性问题老是让人头痛。后来干脆安装个tar版的好了,正好想好好学习一下tar包装的linux软件的安装。
用WinXP从网上下载samba的最新版套件samba-3.0.22.tar.gz(在samba官方网站上可以下载),然后用FTP将其上传去Linux里(也可以直接在linux下进行下载,在图形界面下就用各种浏览器进行下载就可以了,在文字界面下可以使用wget进行下载,不过用wget下载需要先知道网上samba套件的真实地址)。将samba-3.0.22.tar.gz存放到/usr/local/src中,在这个目录中解压,然后将解压后的文件夹的所有者更改为Linux下的一个用户。
解压后进入Samba的源文件所在文件夹里(/usr/local/src/samba-3.0.22/resource),进行安装。
首先是进行相关配置:
./configure --prefix = /usr/local/samba --with-atuomount
> --with-smbmount --with-pam --with-mmap --with-libsmbclient
然后进行make,即编译,编译完成后即是make install,进行安装。
至此,Samba已经安装好了。
接下来进行Samba的配置,不知道是安装过程出现错误还是什么其它原因,在安装后的Samba文件夹中没有找到配置文件smb.conf,所以在启动smbd和nmbd后会在log.smbd和log.nmbd中都会报告没有发现smb.conf,无法启动。
用locate,find还有whereis查找了半天,还是没有发现这个配置文件。不过在源程序的/packaging/RedHat-9目录下面倒是发现了这个东西。于是只好将这个文件copy到/usr/local/samba/lib下面,再次启动smbd和nmbd,这次没有报错,说明samba能够正常启动。
接下来是进行相关参数的修改:
[global]
workgroup = MSHOME
netbios name = rhsmb
server string = Samba Server
interfaces = 192.168.0.100
dns proxy = No
# 设置安全级别,共有share,user,domain等几种,这里选择最低级别share#,这样使用者不需要输入密码即可进入。
security = share
[tmp]
path = /home/www
readonly = no
public = yes
修改了以上参数后保存配置文件,重新启动samba,即可以进行测试是否配置成功。
有时候如果不能访问samba服务器,可能是由于防火墙的阻档,这时可以对防火墙进行配置,将samba服务器所需的137,138,139三个端口打开。
在linux下测试samba服务器:smbclien -L //hostname
在windows下测试samba服务器:直接在网上邻居里搜寻samba,直接搜索netbios name的电脑即可。
(1、以上只是samba最简单应用的配置,也是最不安全的配置,samba的功能很强大,还可以进行更全面更安全的配置。
2、本文的配置没有实现将samba写入系统服务中,需要在每次开机后重新启动samba服务。)