samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来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,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。
\\10.0.0.163\共享目录名称
\\davidsamba\共享目录名称
Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。
一、安装Samba服务
1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。
yum install samba samba-client samba-swat
有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。
2、查看安装状况
3、安装包说明
samba-common-3.5.10-125.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面
samba-3.5.10-125.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/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig –level 35 smb on //在3、5级别上自动运行samba服务
二、配置samba服务
现在我们需要设置samba的主配置文件/etc/samba/smb.conf
vim /etc/samba/smb.conf
在[global]中添加如下几行(这儿是全局配置参数):
workgroup = WORKGROUP #windows 系统默认的工作组名称
server string = Samba Server Version %v #服务器的说明文字,随你怎么设
netbios name = MYSERVER
#netbios协议下的主机名,现在不重要了
unix charset = utf8
#unix 系统中的字符
dos charset = GB2312
#为了在Windows系统中显示简体中文
下面的Logging Options保持不变:
#log files split per-machine:
log file = /var/log/samba/log.%m
#以NetBIOS name分别建立log文件
#maximum size of 50KB per log file, then rotate:
max log size = 50
#最大50KB的log文件
接下来设置Standalone Server Options
security = user
map to guest = Bad User
#samba v4.1.1版本不支持share和server,当security设置为
user后需要加一行map to guest = Bad User才能允许无密码访问。
接下来就需要设置要共享的文件夹了:
把[homes]和[printers]注释掉,我们自己建立共享文件夹。
[temp] #这是我们分享的目录
comment = Temporary file space
#对这个目录的注释
path = /tmp #分享目录的实际路径
writable = yes
#是否可写入
browseable = yes
#是否可见
guest ok = yes
#免密码必须的!!!
修改完配置文件后记得运行testparm来测试你的配置文件有没有语法错误。
配置文件如下
[global] workgroup = MYGROUP server string = Samba Server Version %v unix charset = utf8 dos charset = GB2312 log file = /var/log/samba/log.%m max log size = 50 security = user passdb backend = tdbsam map to guest = Bad User [python] comment = Home Directories path=/server/scripts writable = yes browseable = yes guest ok = yes
三、测试
注意:在服务端需要设置共享文件夹的权限,避免在windows端无法创建文件和修改文件。
- 转载请注明来源:CentOS6.8 搭建Samba服务器(无密码)
- 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/304.html