1.简介

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

SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

 

2.特点

SMB/CIFS协议、端口TCP 129,445、C/S结构、可跨平台、服务端可进行文件修改、可挂载文件系统

 

3.登录模式

a.匿名用户模式

b.本地用户模式(推荐)

c.虚拟用户模式(别名访问)

 

4.服务部署

4.1环境准备:

centos6两台(192.168.245.131(Server),192.168.245.130(Client))

关闭防火墙和SELINUX

windows一台

4.2部署

4.2.1使用默认samba配置windows登录

Server端安装samba

yum -y install samb

 

验证

rpm -q samba

rpm -q samba-client

rpm -q samba-common

 

启动smb服务并设置开机自启

service smb start

chkconfig smb on

 

添加测试用户tom

useradd -s /sbin/nologin tom

 

为smb用户设置密码(此处可理解为将linux用户转变为smb用户)

pdbedit -a tom

 

samba协议 读写速度与系统硬盘的关系_Server

windows测试


 

samba协议 读写速度与系统硬盘的关系_vim_02

samba协议 读写速度与系统硬盘的关系_vim_03

samba协议 读写速度与系统硬盘的关系_bc_04

 

windows映射(理解为linux的挂载)

 

samba协议 读写速度与系统硬盘的关系_vim_05

 

 

 

samba协议 读写速度与系统硬盘的关系_vim_06

samba协议 读写速度与系统硬盘的关系_bc_07

 

samba协议 读写速度与系统硬盘的关系_bc_08

 

 

 

windows新建测试文件,Server端查看

 

samba协议 读写速度与系统硬盘的关系_bc_09

samba协议 读写速度与系统硬盘的关系_vim_10

 

windows清除登录缓存信息

net use * /del

 

samba协议 读写速度与系统硬盘的关系_Server_11

4.2.2linux登录

Client查看Server端查看共享信息

smbclient -U tom -L //192.168.245.131

samba协议 读写速度与系统硬盘的关系_vim_12

 

Server端新建测试用户jerry再次查看

useradd -s /sbin/nologin jerry

pdbedit -a jerry

smbclient -U jerry -L //192.168.245.131

samba协议 读写速度与系统硬盘的关系_vim_13

 

Client登录到Server端

smbclient -U jerry //192.168.245.131/jerry

samba协议 读写速度与系统硬盘的关系_bc_14

 

 

4.2.2本地登录模式(上传、下载)

设置自定义共享区间

vim /etc/samba/smb.conf

[Mytest]

comment = Tom cache Jerry

path = Mytest

public = yes

browseable = yes

writable = yes

注意:[]中不要使用空格和comment等关键字

samba协议 读写速度与系统硬盘的关系_vim_15

 

 

测试配置文件并重启服务

testparm

service smb restart

 

创建共享目录

mkdir /Mytest && chmod o+w /Mytest

 

Client端查看测试

smbclient -U tom -L 192.168.245.131

samba协议 读写速度与系统硬盘的关系_vim_16

 

 

Client端登录测试

samba协议 读写速度与系统硬盘的关系_bc_17

 

 

tom用户上传文件测试

samba协议 读写速度与系统硬盘的关系_vim_18

 

 

jerry用户上传文件测试

smbclient -U jerry //192.168.245.131/Mytest

samba协议 读写速度与系统硬盘的关系_Server_19

 

 

Server端查看上传的文件

samba协议 读写速度与系统硬盘的关系_Server_20

 

 

Client端登录尝试覆盖和删除本用户和其他用户文件

smbclient -U jerry //192.168.245.131/Mytest

 

samba协议 读写速度与系统硬盘的关系_bc_21

 

samba协议 读写速度与系统硬盘的关系_Server_22

 

smbclient -U tom //192.168.245.131/Mytest

 

samba协议 读写速度与系统硬盘的关系_vim_23

 

4.2.3访问控制

4.2.3.1修改配置文件仅允许部分用户登录

设置允许tom登录

vim /etc/samba/smb.conf

增加信息

valid users = tom

samba协议 读写速度与系统硬盘的关系_bc_24

 

 

重启服务并测试

testparm

service smb restart

 

Client端登录测试

samba协议 读写速度与系统硬盘的关系_bc_25

 

 

jerry尝试登录

samba协议 读写速度与系统硬盘的关系_bc_26

 

 

4.2.3.2修改用户对共享空间的读写权限,设置上传文件的默认权限

设置只有tom文件上传权限

vim /etc/samba/smb.conf

增加信息

read only = yes

write list = tom

samba协议 读写速度与系统硬盘的关系_vim_27

 

重启服务并测试

testparm

service smb restart

 

Client端登录测试

samba协议 读写速度与系统硬盘的关系_bc_28

jerry尝试上传文件

 

samba协议 读写速度与系统硬盘的关系_vim_29

 

设置上传文件的默认权限

Server端查看用户上传文件的默认权限

744

修改为644

vim /etc/samba/smb.conf

增加信息

create mask = 644

samba协议 读写速度与系统硬盘的关系_vim_30

 

重启服务并测试

testparm

service smb restart

 

Client端登录测试

samba协议 读写速度与系统硬盘的关系_vim_31

 

 

Server端查看文件权限

samba协议 读写速度与系统硬盘的关系_Server_32

 

 

4.2.3.3用户别名

设置tom别名为T

修改smbuser配置文件

vim /etc/samba/smbusers

增加信息

tom = T

 

samba协议 读写速度与系统硬盘的关系_vim_33

 

修改主配置文件

vim /etc/samba/smb.conf

增加信息

username map = /etc/samba/smbusers

 

samba协议 读写速度与系统硬盘的关系_Server_34

 

重启服务并测试

testparm

service smb restart

 

windwos登录测试

 

samba协议 读写速度与系统硬盘的关系_vim_35

 

 

samba协议 读写速度与系统硬盘的关系_vim_36

 

Client端登录测试

samba协议 读写速度与系统硬盘的关系_Server_37

 

4.2.3.4文件系统挂载(windows映射)

windows

samba协议 读写速度与系统硬盘的关系_Server_38

samba协议 读写速度与系统硬盘的关系_bc_39

 

 

linux

挂载

Client端修改fstab文件

vim /etc/fstab

增加信息

//192.168.245.131/Mytest /Mytest cifs defautls,username=tom,password=123456 0 0

samba协议 读写速度与系统硬盘的关系_vim_40

 

生效

mount -a

 

查看挂载信息

df -h

 

samba协议 读写速度与系统硬盘的关系_vim_41