一、Samba介绍:
Server Message Block的缩写是SMB,即服务器消息块,SMB主要是作为Microsoft的网络通讯协议。Samba将SMB通信协议应用到了Linux系统上,使得Samba成为一款能让Linux系统应用Microsoft网络通讯协议的软件。Samba最大的功能可用于Linux与windows系统直接的文件共享和打印共享,Samba既可用于windows与Linux之间的文件共享,也可用于Linux与Linux之间的资源共享,由于NFS的出现,因而 Samba更多用在Linux与windows之间的数据共享上面。
SMB是基于客户机/服务器型的协议,故一台Samba服务器既可当文件共享服务器,也可充Samba的客户端。Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。
组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
------------------------------------分割线------------------------------------
如何在 14.04中使用Samba共享文件
VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍
Samba文件共享服务器加入Windows Server 2003域
Samba安装配置
6.2 下Samba 服务的配置
Samba服务器安装和配置
Win7+VMware+18 Samba服务器的搭建图解
------------------------------------分割线------------------------------------
Samba服务器可实现如下功能:
A、WINS和DNS服务;
B、网络浏览服务;
C、Linux和Windows域之间的认证和授权;
D、UNICODE字符集和域名映射;
E、满足CIFS协议的UNIX共享等。
二、环境准备:
1、CentOS 6.3版本(32位),主机名:samba;
2、IP地址:192.168.31.131;
3、虚拟机:VMware? Workstation 9.0.0 build-812388;
4、samba软件:samba-3.6.9-167.el6_5.i686;
5、工作组:Lmzsamba。
三、安装软件:
A、安装前的准备工作:
SELINUX=disabled
关闭防火墙:service iptables stop
B、执行如下命令安装samba:
[root@samba ~]# yum install samba samba-client samba-swat
C、检查samba是否安装成功:
[root@samba ~]# rpm -qa | grep samba
如果显示有如下一些信息,则说明安装没有问题:
samba-client-3.6.9-167.el6_5.i686
samba-3.6.9-167.el6_5.i686
samba-common-3.6.9-167.el6_5.i686
samba-winbind-3.6.9-167.el6_5.i686
samba-swat-3.6.9-167.el6_5.i686
samba-winbind-clients-3.6.9-167.el6_5.i686
D、启动samba服务及状态检查:
[root@samba ~]# /etc/init.d/smb start
显示结果:
Starting SMB services: [ OK ]
状态检查:
[root@samba ~]# service smb status
显示结果:
smbd (pid 2462) is running...
E、设置开机自启动,并查看是否设置成功:
[root@samba ~]# chkconfig --level 35 smb on
检查是否成功:
[root@samba ~]# chkconfig --list | grep smb
结果显示如红色部分(在3、5级别上自动运行samba服务),则表示设置成功:
smb 0:off 1:off 2:off 3:on 4:off 5:on 6:off
四、服务配置:
Samba服务配置主要是指/etc/samba/smb.conf文件的配置。一般情况下,公司或企业主要分三种情况,即:
1、公共匿名类共享目录的配置(即匿名账户访问共同的目录或者文件);
A、配置文件:
[root@samba ~]# vi /etc/samba/smb.conf
在文件中添加或者修改相关代码:
workgroup = WORKGROUP //定义工作组,也就是windows中的工作组概念
server string = Lmz Samba Server Version %v //定义Samba服务器的简要说明
netbios name = LmzSamba //定义windows中显示出来的计算机名称
//定义Samba用户的日志文件,%m代表客户端主机名
//Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件
log file = /var/log/samba/log.%m
security = share //共享级别,用户不需要账号和密码即可访问
[public] //设置针对的是共享目录个??的设置,只对当前的共享资源起作用
comment = Public Stuff //对共享目录的说明文件,自己可以定义说明信息
path = /share //用来指定共享的目录,必选项
public = yes //所有人可查看,等效于guest ok = yes
B、建立共享目录:
[root@samba ~]# cd ..
[root@samba /]# mkdir share
[root@samba /]# cd share
[root@samba share]# touch samba.txt
[root@samba share]# touch aa.txt
[root@samba share]# ls -ls
显示结果:
total 0
0 -rw-r--r--. 1 root root 0 Mar 13 11:02 aa.txt
0 -rw-r--r--. 1 root root 0 Mar 13 11:02 samba.txt
为/share目录给匿名用户授权为nobody权限:
[root@samba /]# chown -R nobody:nobody share/
[root@samba /]# ll /share/
total 0
-rw-r--r--. 1 nobody nobody 0 Mar 13 11:02 aa.txt
-rw-r--r--. 1 nobody nobody 0 Mar 13 11:02 samba.txt
C、重启smb服务:
[root@samba /]# /etc/init.d/smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@samba /]# /etc/init.d/nmb restart
Shutting down NMB services: [FAILED]
Starting NMB services: [ OK ]
D、测试smb.conf配置是否正确:
[root@samba /]# testparm
显示结果:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
netbios name = LMZSAMBA
server string = Lmz Samba Server Version %v
security = SHARE
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
print ok = Yes
browseable = No
[public]
comment = Public Stuff
path = /share
guest ok = Yes
E、访问Samba服务器的共享文件:
E1:CentOS系统下测试:
[root@samba /]# smbclient //127.0.0.1/public
显示结果:
WARNING: The security=share option is deprecated
Enter root's password:
由于是匿名用户,没有设置密码,所以在此直接回车即可:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-167.el6_5]
Server not using user level security and no password supplied.
smb: \>
在此输入 ls 命令,回车得到如下信息:
smb: \> ls
. D 0 Thu Mar 13 11:02:47 2014
.. DR 0 Thu Mar 13 11:13:53 2014
aa.txt 0 Thu Mar 13 11:02:47 2014
samba.txt 0 Thu Mar 13 11:02:37 2014
35755 blocks of size 524288. 29202 blocks available
smb: \>
在此输入 q 命令,退出访问。
E2:window xp系统下测试,结果如图:
从图中可以看出,公共目录共享成功。
更多详情见请继续阅读下一页的精彩内容: