有时我们会考虑建立自己的内部文件共享系统。桑巴是个不错的选择。很简单,但是很实用。就连群汇NAS(Synology)的文件系统也与之融为一体,尽显其魅力!
一、桑巴介绍
它是使Linux系统能够应用微软网络通信协议的软件,SMB是Server Message Block的缩写,即服务器消息块。SMB主要用作微软的网络通信协议。后来,Samba将SMB通信协议应用于Linux系统,形成了现在的Samba软件。后来微软把SMB改名为CIFS(Common Internet File System),也就是公共的Internet文件系统,并增加了很多新功能,使得Samba更加强大。
Samba最大的功能是可以用于Linux和windows系统之间的直接文件共享和打印共享。Samba可以用于windows和Linux之间的文件共享,也可以用于Linux和Linux之间的资源共享。由于NFS(网络文件系统)可以很好地完成Linux和Linux之间的数据共享,所以Samba多用于Linux和windows之间的数据共享。
SMB是基于客户机/服务器的协议,因此Samba服务器既可以作为文件共享服务器,也可以作为Samba客户机。例如,如果已经在Linux下设置了Samba服务器,windows客户端可以通过SMB协议共享Samba服务器上的资源文件,同时Samba服务器还可以访问网络中其他windows系统或Linux系统共享的文件。
Samba在windows下使用NetBIOS协议。如果您想使用Linux下共享的文件,请确认您的windows系统下是否安装了NetBIOS协议。
运行Samba的服务有两个,一个是SMB,一个是SMB。是SMB的核心启动服务,主要负责建立Linux Samba服务器和Samba客户端之间的对话,验证用户身份,提供对文件和打印系统的访问。只有启动SMB服务,才能实现文件共享,监控139 TCP端口。NMB服务负责解析。类似于DNS实现的功能,NMB可以将Linux系统共享的工作组名称对应到其IP。如果NMB服务没有启动,它只能通过IP访问共享文件,并监听UDP端口137和138。
例如,如果一个Samba服务器的IP地址是10.0.0.163,对应的工作组名是preteckserver,那么在Windows的IE浏览器中输入以下两个命令就可以访问共享文件。其实这是在Windows下查看Linux Samba服务器共享文件的方式。
\192.168.20.239共享目录名
pretekserver 共享目录名
Samba服务器可以实现以下功能:WINS和DNS服务;网络浏览服务;Linux和Windows域之间的认证和授权;UNICODE字符集和域名映射;UNIX共享会议CIFS协议等。
二、制度环境
系统平台:CentOS版
Samba版本:samba-3.5.10-125.el6.x86_64
桑巴服务器IP:192.168.20.239
防火墙已关闭/iptables :防火墙未运行。
SELINUX=禁用
第三,安装Samba服务
1.使用yum工具在联网的机器上安装。如果没有联网,请装入系统光盘进行安装。
yum安装samba samba-客户端samba-swat
依赖包samba-common、samba-winbind-clients和libsmbclient将自动安装。
2.检查安装状态。
rpm -qa | grep samba
3.安装包描述
samba-common-3 . 5 . 10-125 . El 6 . x86 _ 64
主要提供samba服务器的设置文件和设置文件的语法检查器testparm。
samba-client-3 . 5 . 10-125 . El 6 . x86 _ 64
客户端软件,主要提供linux主机为客户端时所需的工具指令集。
samba-swat-3 . 5 . 10-125 . El 6 . x86 _ 64
基于https协议的Samba服务器web配置接口
桑巴-3.5.10-1
25.el6.x86_64服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
4、启动Samba服务器
/etc/init.d/smb start
可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig --level 35 smb on
四、配置samba
备份:
cp /etc/samba/smb.conf /etc/samba/smb.confbak
恢复:
cp /etc/samba/smb.confbak /etc/samba/smb.conf
vi /etc/samba/smb.conf
[global]
netbios name = FILE_SERVER
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
hosts allow = 192.168.1., 192.168.0., 127. ###允许10,20网段和本机访问
cups options = raw
security = user ###设置密码访问
workgroup = WORKGROUP
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[pretech]
comment = pretech
path = /home/share/pretech
public = no
browseable =yes
writable = yes
valid users=pretech
directory mask = 0777
create mask = 0777
[公共文档]
public支持中文
comment = 公共文档
path = /home/share/Public
public = yes
writable = yes
guest ok = yes
directory mask = 0777 #生成目录权录为 0777
create mask = 0777 #生成文件权录为 0777
; printable = no
; write list = +staff
五、添加访问linux共享目录的账号
useradd -s /sbin/nologin zzy
smbpasswd -a zzy #设置账户登录密码
mkdir /home/share/zzy
chcon -R -t samba_share_t /home/share/zzy #设置共享安全,一定要设置
chmod -R 0777 /home/share/zzy
六、重启samba
/etc/init.d/smb restart 或 service smb restart
七、在Windows客户端“运行”窗口中输入,
运行窗口:
\192.168.20.239
或 “网络”中打开“FILE_SERVER”
八、断开windows共享链接,有如下面的两种方法:
net use \192.168.1.1IPC$ /del
net use * /del