一、Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得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端口。
二、安装
1、安装环境
系统平台:centos6.8Samba Server IP:192.168.1.12
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled配好网路yum源
2、开始安装
[root@samba ~]# yum install samba samba-client samba-swat -y
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
epel/metalink | 6.8 kB 00:00
* base: mirrors.aliyun.com
* epel: ftp.cuhk.edu.hk* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:09
解决依赖关系
安装信息有略
已安装:
samba.x86_64 0:3.6.23-45.el6_9 samba-swat.x86_64 0:3.6.23-45.el6_9
作为依赖被安装:
xinetd.x86_64 2:2.3.14-40.el6
更新完毕:
samba-client.x86_64 0:3.6.23-45.el6_9
作为依赖被升级:
libsmbclient.x86_64 0:3.6.23-45.el6_9 samba-common.x86_64 0:3.6.23-45.el6_9
samba-winbind.x86_64 0:3.6.23-45.el6_9 samba-winbind-clients.x86_64 0:3.6.23-45.el6_9
完毕!
[root@samba ~]#
查看安装情况
[root@samba ~]# rpm -qa | grep samba
启动服务
[root@samba ~]# /etc/init.d/smb start
启动 SMB 服务: [确定]
[root@samba ~]# /etc/init.d/nmb start
启动 NMB 服务: [确定]
[root@samba ~]#
设置开机启动
[root@samba ~]# chkconfig smb on
3、配置Samba服务
Samba的主配置文件为/etc/samba/smb.conf
主配置文件由两部分构成
Global Settings (55-245行)
该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。
Share Definitions (246-尾行)
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。
简单的小配置
备份原配置文件
[root@samba ~]# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak
简单的新建一个配置文件
[root@samba ~]# cd /etc/samba/
[root@samba samba]# ls
lmhosts smb.conf smb.conf.bak smbusers
[root@samba samba]# rm -r smb.conf
rm:是否删除普通文件 "smb.conf"?y
案例一、
公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/test,共享名为dians,此共享目录允许所有员工访问。
[root@samba ~]# vim /etc/samba/smb.conf
创建共享目录
上面设置了共享目录为/test,下面就需要建立/test目录
设置权限
重启服务
测试配置对不对
[root@samba samba]# testparm
4、测试
在window上在运行里面输入(服务的IP地址)