一、简介

  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、 下载及安装Samba

推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:

  yum -y install samba

关闭防火墙
SELINUX=disabled

防火墙:
service iptables stop。
或者:
iptables -I RH-Firewall-1-INPUT 5 -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp –dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp –dport 138-j ACCEPT
iptables-save
service iptables restart

selinux:
setenforce 0
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。
或者:依次在命令行敲…
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
完事儿之后再:getsebool -a | grep samba一把,你懂得…

2、 配置Samba

vim /etc/samba/smb.conf 文件末尾添加:

 [koorey]
                comment = koorey
                path = /home/koorey
                writable = yes

创建共享目录

mkdir -p /home/koorey

Linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:

smbpasswd -a zhangsan #添加用户zhangsan到Samba用户数据库中

前提是,zhangsan这个用户在Linux系统中已经存在。

这条命令输入完后,会提示为新建的用户koorey设置访问密码。最后再执行一下service smb restart命令就OK了。

Logo

更多推荐