Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,

SMBServer Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

一、安装samab服务器

             yum install samba -y

二、配置 /etc/samba/smb.conf 文件

1.过滤#号行、空行

cp     /etc/samba/smb.conf      /etc/samba/smb.conf.bak        #备份

egrep -v "#|^$" /etc/samba/smb.conf.bak |grep -v "^;" >/etc/samba/smb.conf

2.   smb.conf 配置文件如下:

[global]
         workgroup = MYGROUP
        server string = Samba Server Version %v
         security = share
         passdb backend = tdbsam
         load printers = yes
         cups options = raw

[temp]
         comment=Temporary file space
         path=/tmp
         read only=no
         public=yes

[data]
         comment=Temporary file space
         path=/data
         read only=no
         public=yes

三、重启samba服务

             service smb restart

四、访问共享文件

在浏览器里面访问方式为:\\ + SMB文件共享服务端IP),如 \\192.168.0.1

如何没有权限访问,需要注意防火墙和selinux设置,可以使用如下命令关闭:

/etc/init.d/iptables stop          #关闭防火墙

sed  –i   ‘/SELINUX/s/enforcing/disabled’  /etc/sysconfig/selinux        #SELINUX=disabled

五、配置文件内容相关解释

workgroup =

WORKGROUP 设Samba Server 所要加入的工作组或者域。

server string = Samba Server Version %v

Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

 

 

 security =user

1.share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。

2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。

3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。

4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

comment = test

是对该共享的描述,可以是任意字符串。

path = /home/test

共享目录路径

browseable= yes/no  

用来指定该共享是否可以浏览。

writable = yes/no

writable用来指定该共享路径是否可写。

available = yes/no

available用来指定该共享资源是否可用

admin users = admin

该共享的管理者

valid users = test

允许访问该共享的用户

invalid users = test

禁止访问该共享的用户

write list = test

允许写入该共享的用户

public =yes/no

public用来指定该共享是否允许guest账户访问。