1.Samba介绍
Samba是Linux、Unix与Windows之间进行交互操作的软件组件,Samba是基于GPL协议的自由开源软件。Samba通过SMB/CIFS协议为Windows、OS/2、Linux以及众多其他支持该协议的操作系统提供安全、稳定、快速的文件与打印服务。
Samba软件包包括Samba(服务器端软件包)、Samba-client(客户端软件包)和Samba-common(Samba公共文件软件包)三个部分组成。其中Samba有smbd和nmbd两个守护进程组成,两个进程的独立运行的:
(1)smbd
smbd服务进程为客户端提供文件共享与打印机服务。smbd默认监听的端口是TCP协议的139和445.
(2)nmbd
nmbd进程提供NetBIOS名称服务,以满足基于CIFS协议的共享访问环境。nmbd默认使用的是UDP协议137端口.
2.Samba服务器的搭建
(1)安装Samba
官网下载samba软件,然后安装
(2)创建共享目录
mkdir /home/share
chmod 777 /home/share
备注:共享目录要为Samba账户设置权限
(3)配置smaba
samba的配置文件为/etc/samba/smb.conf,添加配置如下:
[work] #中括号中的内容随便写
comment = uc #描述信息可以随便写
path = /home/work/wahaha #设置第(2)步中的共享目录
writable = yes #是否可写
validusers = smbuser #samba用户
browseable = yes #浏览权限设置
(4)为samba服务创建访问账户
客户端访问Samba共享资源时,所使用的账户名称是服务器端操作系统中真实存在的系统账户,但是使用的密码是独立的samba密码,而不是使用系统账号的密码。
A)在操作系统中为Samba服务单独创建一个访问账号
useradd -s /sbin/nologin smbuser #创建一个名称为smbuser的系统账户
B)为Samba服务创建账号和密码,账户关联的是系统账号
smbpasswd -a smbuser #然后根据提示设置密码就OK了
(5)启动Samba服务
service smbd start #或
/etc/inin.d/smbd start
备注:有时候,启动时会提示找不到so库,例如libwbclient.so.0,我们可以执行export LD_LIBRARY_PATH=/usr/local/samba/lib:就可以了。其中假设/usr/local/samba为samba的安装目录。
5.访问Samba服务
(1)Linux客户端
使用smbclient来访问,命令格式如下:
smbclient -L //IP #或
smbclient -U {USER} //IP
(
2
)
Windows
客户端
通过开始 |运行(WINDOWS+R)打开运行窗口,然后输入\\IP,输入账户密码,然后就可以在网络中看到共享目录。然后我们可以在Windows中为共享目录映射网络驱动器,方法是右击共享目录,选择映射网络驱动器并为网络驱动器设置盘符,之后我们就可以向访问本地文件系统一样访问Samba服务的共享资源,效果如下:
备注:通过Samba+SublimeText就可以搭建一个开发环境,在Windows上完成开发,然后自动同步到远程Linux服务器上。这样就不需要把远程Linux服务器上工程目录copy到Windows系统上来做开发,且开发完了还要同步到远程Linux服务器中。
学习资料参考于:
http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html