Linux学习笔记-------CIFS和SMB网络协议以及Samba软件

关于CIFS协议的基本介绍

一.什么是CIFS

CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

二.CIFS 的功能:

1.访问服务器本地文件并读写这些文件

2.与其它用户一起共享一些文件块

3.在断线时自动恢复与网络的连接

4.使用统一码(Unicode)文件名:文件名可以使用任何字符集,而不局限于为英语或西欧语言设计的字符集。

三.CIFS 的优点:

一般来说,CIFS使用户得到比FTP更好的对文件的控制。它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好。CIFS最典型的应用是windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹。

CIFS 是开放的标准而且已经被作为Internet应用程序标准被提交到IETF。

用于Java与DCom通信的开源第三方库J-Interop就是利用CIFS协议实现的。

四.区别对比:

CIFS和NFS的对比

(1)CIFS面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP;

(2)NFS缺点之一,是要求client必须安装专用软件;而CIFS集成在OS 内部,无需额外添加软件;

(3)NFS属无状态协议,而CIFS属有状态协议;NFS受故障影响小,可以自恢复交互过程,CIFS不行;从传输效率上看,CIFS优于NFS,没用太多冗余信息传送;

(4)两协议都需要文件格式转换,NFS保留了unix的文件格式特性,如所有人、组等等;CIFS则完全按照win的风格来作。


关于SMB协议的基本介绍

SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。

SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超 过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。


Samba的介绍

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议, 它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、 打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。


实验环境搭建

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第1张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第2张图片

samba服务环境部署

服务端:

查找samba的相关软件

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第3张图片

把上述三个软件都下载下来

查看samba的配置文件

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第4张图片

开启服务,关闭火墙,打开功能开关

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第5张图片

创建共享目录,修改共享目录的安全上下文

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第6张图片

修改配置文件,重启服务并添加samba用户

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第7张图片

在共享目录下新建文件

客户端:

安装samba-client

查看共享目录名称、类型和说明等信息

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第8张图片

匿名用户尝试访问LEE以及westos用户访问LEE

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第9张图片

Samba配置文件中的参数说明

comment 关于共享目录的说明
path 共享LEE对应服务端的目录
browseable 是否可以对共享文件查看
valid user 只允许某一用户或者某一用户组所有成员登录LEE
writable 允许用户对LEE进行编辑
write list 可写用户
guest 匿名用户登陆
admin users 设定LEE目录的超户是谁
map to guest = bad user 把匿名用户影射成guest用户
workgroup

工作组

共享目录的说明 

服务端:

修改配置文件/etc/samba/smb.conf,重启服务

每次在服务端修改完配置文件都需要重启服务`systemctl restart smb.service`

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第10张图片

是否可以对共享文件查看

服务端:

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第11张图片

有效用户设定Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第12张图片

服务端:

新建samba用户xin和lee

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第13张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第14张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第15张图片

设定用户组成员都可以访问共享目录

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第16张图片

‘+‘或‘@‘westos表示westos所在用户组的所有组成员

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第17张图片

是否所有人可写

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第18张图片

服务中允许所有人可写,但是文件系统中并没有赋予该用户写的权利,我们需要设置用户的权限。

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第19张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第20张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第21张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第22张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第23张图片

设定可写用户Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第24张图片

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第25张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第26张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第27张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第28张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第29张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第30张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第31张图片

设定westos所在用户组的成员都可写

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第32张图片

保证有一个用户除westos在westos组,方便等会儿在客户端测试

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第33张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第34张图片

允许匿名用户登陆

默认情况下匿名用户不可以查看LEE

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第35张图片

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第36张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第37张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第38张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第39张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第40张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第41张图片

在通常情况下root用户或者lee用户等都可以挂载,但匿名用户不能挂载

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第42张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第43张图片Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第44张图片

允许匿名用户挂载 

服务端:

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第45张图片

设定LEE目录的超户 

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第46张图片

客户端:

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第47张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第48张图片如何修改工作组名字Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第49张图片

服务端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第50张图片

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第51张图片

smb多用户挂载

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第52张图片

如何实现多用户分开挂载,避免挂载到一起呢

客户端:

安装cifs-utils.x86_64

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第53张图片

查看cifs的帮助

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第54张图片

新建一个文件 /root/smbauth 编辑

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第55张图片

修改文件的权限

以认证文件方式挂载,不裸露samba用户

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第56张图片

再切换到其他用户查看

没有实现多用户挂载功能,只是隐藏了用户身份信息

再查看帮助

重新挂载

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第57张图片

如果用户linux要是想看目录下的内容,需要得到一个服务端smb用户的身份才可以

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第58张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第59张图片

服务端: 

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第60张图片

多用户永久挂载

客户端:

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第61张图片

查看是否能自动挂载

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第62张图片

Linux学习笔记-------CIFS和SMB网络协议以及Samba软件_第63张图片

 

你可能感兴趣的:(Linux学习笔记-------CIFS和SMB网络协议以及Samba软件)