一、定义
samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
二、配置文件
1、端口
137/udp,138/udp,139/tcp,445/tcp
2、数据访问
(1)交互式数据访问
smbclient -L HOST -U USERNAME
获取到共享信息后:
#smbclint //172.16.26.67/tools -U test
#lcd /etc #切换目录
#put fstab #上传
(2)基于挂载方式访问
mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
#mount -t cifs //172.16.26.67/tools /mnt -o username=test
3、服务脚本
/etc/rc.d/init.d/nmb
/etc/rc.d/init.d/smb
4、启动服务
#service nmb start
#service smb start
5、主配置文件
/etc/samba/smb.conf
6、配置文件
smb.conf
全局设定:global settings
workgroup = WORKGROUP | MYGROUP
netbios name = NMAE
server string = Samba Server Version %v #显示samba版本
netbios name = smbserver #定义网络共享名称
interfaces = lo etho IP #监听IP地址段
hosts allow = 127. 192.168.12. 192.168.13. #允许访问的IP地址段
特定共享的设定
私有家目录
打印机共享
自定义共享
自定义共享
[shared_name]
comment = Home Directories #注释
browseable = yes|no # 是否允许访问
path = /path/to/share-directory #samba共享目录
guest ok = yes|no #是否允许来宾账号访问
public = yes|no #是否公开
writable = yes|no #是否可写
read only = yes|no #是否可读
write list = +GROUP_NAME #可写用户列表
三、实例
建立samba共享,共享目录为/data,要求
1.共享名为shared,工作组为magedu,可以被浏览
2.添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组,密码均为用户名
3.添加samba用户gentoo,centos和ubuntu,密码都为”mageedu“
4.此samba共享shared仅允许develop组具有写权限,其它用户只能以只读方式访问
5.此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问
#yum -y install samba #安装服务器端 #vim /etc/samba/smb.conf hosts allow = 127. 172.16. [shared] comment = mysql data browseable = yes path = /data guest ok = yes read only = yes write list = +develop #groupadd develop #useradd -G develop gentoo #useradd -G develop centos #useradd ubuntu #passwd gentoo #passwd centos #passwd ubuntu #smbpasswd gentoo #smbpasswd centos #smbpasswd ubuntu #chmod 777 /data #service nmb restart;service smb restart