Linux~文件系统之SMB和CIFS服务

1:存储分离
服务器信息块(SMB)是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。微软最初将SMB定位为Windows Server 2008和Vista系统中通用互联网文件系统(CIFS)的后续产品。最新版本的SMB 3.0在Windows Server 2012操作系统中出现,并且与Windows 8客户端共同工作。
目前的SMB协议中采用控制文件安全传输的机制是使用客户身份验证的方式,该方式通过客户端向服务器端发送验证密码来获取文件传输的权限,
Cifs:微软
Smb:sun公司
端口:139和445

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的风格来作。

如何实现文件共享:

存储服务器端:
服务安装:

yum search samba						搜索smb相关安装包
yum install samba-client.x86_64 -y 		安装客户端
yum install -y  samba-common.x86_64		安装smb命令
yum list samba-common 					查看samba-common是否安装
yum install samba.x86_64 -y				安装samba服务

在这里插入图片描述
在这里插入图片描述

开启服务:

systemctl start  smb			开启smb服务
systemctl status  smb			检查服务状态

在这里插入图片描述
检查服务是否正常运行:

netstat -antulpe | grep smb							检查smb服务端口是否开启
firewall-cmd --list-all								查看火墙是否允许smb服务
firewall-cmd --permanent --add-service=samba		添加samba服务
firewall-cmd --permanent --add-service=samba-client 添加samba-client服务
firewall-cmd --reload 								重新加载火墙

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
smb用户添加:

pdbedit -L					查看smb服务用户
useradd wuxie				添加系统用户(smb服务中添加的用户必须在系统中真实存在)
smbpasswd -a wuxie			设置用户“wuxie”为smb用户并设置密码
pdbedit -L					再次查看smb服务用户
systemctl restart  smb		重启smb服务

在这里插入图片描述在这里插入图片描述在这里插入图片描述
注:需要检测系统selinux状态


测试客户端:
1:服务安装;

yum install samba-client -y		安装smb客户端
yum list  samba-client			检查是否安装成功

在这里插入图片描述在这里插入图片描述
2:smb用户登陆与rw

smbclient -L  //172.25.254.142				显示共享的目录
smbclient -L  //172.25.254.142 -U wuxie		使用创建的smb用户登陆
!ls 										查看当前目录下可上传的文件
mkdir CC									创建CC目录
touch 										创建文件ll
help										查看支持的命令

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

A:网络连接测试
smbclient //172.25.254.142/wuxie -U wuxie 进行测试查看
在这里插入图片描述
B:通过挂载进行测试:
mount //172.25.254.142/wuxie /mnt -o usernama=wuxie,password=root挂载
df
cd /mnt/
ls
rm -rf AA
ls
umount /mnt/
df
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
注:
在配置文件中,可以修改允许那些用户登陆以及允许那些ip
vim /etc/samba/smb.conf
89 workgroup = paopao 修改查看时显示的名字

96 hosts allow = 172.25.254. 允许172.25.254. 的网段登陆
97 # hosts deny = 196.25.231.254 拒绝96.25.231.254网段的ip登陆
在这里插入图片描述在这里插入图片描述
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在selinux打开的情况下,修改共享目录:

   vim /etc/sysconfig/selinux 

7 SELINUX=enforcing

首先要明白这一操作的原理:
selinux打开时,系统会加在安全上下文,因此在上面的操作基础下,会导致用户登陆之后不能进行操作,因此要多方面修改。

————————————————————————————————————————————————————————————————————————————————————————————

存储服务器:
1:创建一个新的目录,用来进行共享:
mkdir /westos
2:修改存储服务器端的配置文件
vim /etc/samba/smb.conf

   323		   [HELLO]		可以随便写,但是分访问时要按照这个名字进行访问
   324         comment=Share	访问时显示的语句,可随意编写
   325         path =/westos	共享目录的路径
   326         writable = yes	添加用户可写权限(在服务层次上)

在这里插入图片描述
3:修改共享目录安全上下文:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
ls -dZ westos/ 查看共享目录安全上下文文
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 westos/

semanage fcontext -a -t samba_share_t ‘/westos(/.*?)?’ 修改安全上下文为:samba_share_t
restorecon -RvvF /westos/ 刷新该目录以及目录下的文件上下文

drwxrwxr-x+ root root system_u:object_r:samba_share_t:s0 westos/
在这里插入图片描述
4:在文件层次上需要对该目录有操作权限,可以赋予777的权限(原为755),但是给与满权限可能会不太安全,因此使用特殊权限,单独对登陆的用户“wuxie”给予权限

setfacl -m u:wuxie:rwx /westos/		wuxie用户对于westos目录用rwx的权限

在这里插入图片描述

	注://setfacl -b /westos		关闭对于westos目录的特殊访问权限,实验时不需要这步操作

5:smb虽然功能很强大,修改配置文件之后,可以不用重启服务,但是最好还是重启一下smb服务

systemctl restart smb

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

测试客户端:(A

测试方法1:连接测试
smbclient //172.25.254.142/HELLO -U wuxie 进行测试查看,这里的HELLO就是配置文件中【】里写的名称
在这里插入图片描述
可以进行上传/下载/创建目录等操作,对于新的共享目录/westos

测试方式2:挂载测试
注:需要明确一个概念:测试端只是用来测试,所有的文件操作都是针对存储服务端进行的操作。
将共享目录进行挂载到/mnt下,创建目录、文件等,然后在服务端进行查看测试

mount //172.25.254/142/LHELLO /mnt -o username=wuxie,password=root
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

————————————————————————————————————————————————————————
共享自己创建的westos目录可以通过修改安全上下文的方法来解决,但是对于系统目录的话,如果也采用这种修改安全上下文的方式,只解决了smb的问题,但是在系统其他服务使用时,可能会造成影响。因此需要采用其他方式来解决这个问题。

修改系统boolean(布尔)值:

getsebool -a | grep samba 查看samba的系统布尔值

samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off 只读是关闭的
samba_export_all_rw --> on 读写是关闭的
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_sandbox_use_samba --> off
virt_use_samba --> off

setsebool -P samba_export_all_rw --> on 1 永久修改samba布尔读写值为1;-P表示永久修改ia

在这里插入图片描述
在这里插入图片描述
这个实验以系统目录“/mnt”目录为例进行实验,在打开了samba布尔值之后,可以重复上面的操作步骤进行实验。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
存储服务器:
配置文件:

vim /etc/samba/smb.conf

	[mnt]				可以随便写,但是分访问时要按照这个名字进行访问
    comment=Share		访问时显示的语句,可随意编写
    path =/mnt			共享目录的路径
    writable = yes		添加用户可写权限(在服务层次上)

在这里插入图片描述
在文件层次上需要对该目录有操作权限,可以赋予777的权限(原为755),但是给与满权限可能会不太安全,因此使用特殊权限,单独对登陆的用户“wuxie”给予权限
setfacl -m u:wuxie:rwx /mnt/ wuxie用户对于mnt目录用rwx的权限
在这里插入图片描述

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
测试客户端:

测试方法同上A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3:配置文件中的其他参数:

vim /etc/samba/smb.conf

126 map to guest = bad user 将游客用户映射到匿名用户登陆
323 [HELLO]
324 comment=Share
325 path =/westos
326 writable = yes 全局可写参数,打开之后,默认所有用户可写
328 # browseable = yes 在使用命令查看时,是否显示目录。默认为yes(显示)。

在这里插入图片描述
在这里插入图片描述
329 # guest ok = yes 允许游客用户登陆,和map to guest = bad user共同搭配使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
330 # valid users = wuxie 允许那些用户登陆;valid users = +wuxie或者valid users = @wuxie表示属于wuxie组的用户都可以登陆

在这里插入图片描述在这里插入图片描述在这里插入图片描述
331 # write list = pao 允许那些用户可写;write list = pa或者write list = pa表示属于wuxie组的用户都可以写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
332 # admin users=wuxie 修改用户wuxie为HELLO目录的超级用户,即root用户,在创建文件之后,可以发现,该文件的用户为root,组为wuxie
在这里插入图片描述
在这里插入图片描述

4:smb多用户认证模式:

当前使用的挂载方式,会存在两个问题:
1:挂载时会暴露用户密码;
2:只有客户端挂载的用户可以进行查看,客户端的普通用户无权查看
因此需要进行多用户认证模式,来解决以上两个问题:

测试客户端:

yum install cifs-utils -y ###安装cifs-utils可以实现多用户挂载的服务
在这里插入图片描述

vim /etc/smbpasswd ##编辑认证文件
在这里插入图片描述
chmod 600 /etc/smbpasswd###为了不让认证信息泄露,因此给与认证文件600的权限
在这里插入图片描述

mount //172.25.254.142/HELLO /mnt -o credentils=/etc/smbpasswd,sec=ntlmssp,multiuser ###使用多用户并且加密用户的方式挂载

在这里插入图片描述
cifscreds add -u pao 172.25.254.142 ##添加认证信息
在没有认证之前,切换普通用户去查看共享问价时会报错权限不允许,在认证之后,普通用户也可以查看共享文件
在这里插入图片描述

cifscreds clearall			##清除所有认证
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值