linux下cifs文件系统(samab)

1.什么是cifs和samba?

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

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

2.实验准备

配置ip搭建yum源

服务端:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
客户端:
在这里插入图片描述在这里插入图片描述

3.samba服务器环境部署

服务端

yum search samba
yum install samba-client.x86_64 -y     ##客户端应用程序
yum install samba-common.x86_64 -y     ##Samba的支持文件
yum install samba.x86_64 -y    ##服务器应用程序
systemctl stop firewalld.service 

在这里插入图片描述

getenforce           ##查看此时selinux的状态
Enforcing
rpm -qc samba-common     ##samba的配置文件
/etc/logrotate.d/samba
/etc/samba/lmhosts
/etc/samba/smb.conf     ##主配置文件
/etc/sysconfig/samba
vim /etc/samba/smb.conf

修改配置文件写入以下内容并重启服务

 vim /etc/samba/smb.conf
 [szy]						##共享名称	
 path = /westos				##实际共享目录 
 systemctl restart smb  

在这里插入图片描述
因为selinux=enforcing,所以要修改共享目录安全上下文

semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos/

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

useradd westos     ##添加系统用户
smbpasswd -a westos     ##添加smb用户,输入密码(redhat)
pdbedit -L    ##列出smb用户

在这里插入图片描述
客户端:
安装samba客户端软件

yum install samba-client -y
systemctl stop firewalld.service

在这里插入图片描述

测试:

smbclient -L //172.25.254.216
smbclient //172.25.254.216/szy
smbclient //172.25.254.216/szy -U westos

匿名查看
在这里插入图片描述
匿名可以登陆但查看不了内容
在这里插入图片描述以westos用户登陆
在这里插入图片描述
挂载

mount //172.25.254.216/szy  /mnt -o username=westos,password=redhat

在这里插入图片描述
配置文件的参数说明

每次修改完配置文件后都要重启smb服务

1.comment=szy dir 说明
修改服务端配置文件

vim /etc/samba/smb.conf
systemctl restart smb

在这里插入图片描述
客户端:
在这里插入图片描述
2.browseable=yes 可见,不隐藏;broweable=no 共享目录隐藏起来了,可以用,但-L看不到。
服务端:
在这里插入图片描述
客户端:
在这里插入图片描述
在这里插入图片描述
3.valid users = westos 有效用户即只用添加的用户可以登陆,可以添加多个但中间要用空格隔开。

服务端:

useradd szy 
smbpasswd -a szy
useradd student
smbpasswd -a student
pdbedit -L                         ##列出smb用户
pdbedit -x student                 ##删除smb用户student

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

在这里插入图片描述

在这里插入图片描述
客户端:
在这里插入图片描述4.valid users = @或+westos, westos组成员可以访问共享目录

服务端:
在这里插入图片描述
在这里插入图片描述
客户端:
在这里插入图片描述
返回服务端

id szy
usermod -G westos szy             ##把用户szy加到westos组里
id szy

在这里插入图片描述
此时返回客户端发现szy用户可以访问了
在这里插入图片描述

5.writeable = yes 可以执行写权限

服务端:
在这里插入图片描述
客户端:
在这里插入图片描述
这是因为westos用户对/westos没有写的权力

返回服务端,给wetsos用户增加权限
在这里插入图片描述
此时客户端可以执行删除命令了
在这里插入图片描述
5.write list = szy 只有列表里用户(szy)可写

服务端:
在这里插入图片描述
客户端:
在这里插入图片描述
6.write list = @szy 只有szy这个用户组的成员可写

客户端:
在这里插入图片描述在这里插入图片描述
默认情况下匿名用户是不可以登陆的,上文已经说了。

7.guest ok = yes 允许匿名用户登陆

服务端:
在这里插入图片描述
但我们发现匿名用户虽然可以登陆并查看内容,但仍不能挂载。
在这里插入图片描述
在这里插入图片描述
此时我们需要返回服务端,修改配置文件

map to guest = bad user 把匿名用户映射成guest,让mount识别到匿名用户的身份,可以挂载。
在这里插入图片描述
哉回到客户端,发现可以挂载。
在这里插入图片描述

8.admin users=student,登陆之后,使用的是root用户权限。

服务端:

smbpasswd -a student   ##将student用户添加到smb中

在这里插入图片描述

客户端:
在这里插入图片描述
9.workgroup = WESTOS 工作组的名字

服务端:
在这里插入图片描述
客户端:
在这里插入图片描述

以下是参数的说明

参数说明
path实际共享目录
comment说明
workgroup修改工作域
browseable隐藏内容,但可以查询和使用(默认是yes,可以查看)
valid users=具体用户添加有效用户,其他用户被拒。+或@westos用户,其组成员可以登陆
writable=yes可写
write list可写用户列表(只有列表里用户可写)
guest ok = yes匿名用户登陆
map to guest= bad user匿名用户可以挂载, 映射到用户=bad user
admin users = student提升用户级别:在使用student登陆了samba之后,就对于这个目录相当于root身份

4.samba服务器多用户挂载(包含永久挂载)

之前所用的挂载是不安全的,可以看到用户密码,切换用户后其他用户还能看到之前用户挂载信息。
在这里插入图片描述在这里插入图片描述
我们可以在客户端安装可以实现多用户挂载的cifs服务,并通过man手册查看该服务的具体配置信息:

yum install cifs -y
man 8 mount.cifs

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

我们新建一个文件/root/smb_auth,里面写入服务端smb用户的用户名和密码,并修改文件的权限,默认情况下只有root用户可读写:

vim /root/smb_auth
写入:
username=westos
password=westos
chmod 600 /root/smb_auth 

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

通过这种方式可以直接挂载,而不显示出密码,但其他用户还是可以看到root用户挂载目录下的内容。
在这里插入图片描述为解决上面问题我们可以采取以下方法:

mount //172.25.254.216/szy /mnt -o credentials=/root/smbauth,sec=ntlmssp,multiuser

在这里插入图片描述用户linux要是想看目录下的内容,需要得到一个服务端smb用户的身份才可以

cifscreds --help   ##--help查看此命令的用法
cifscreds: unrecognized option '--help'
Usage:
	cifscreds add [-u username] [-d] <host|domain>
	cifscreds clear [-u username] [-d] <host|domain>
	cifscreds clearall 
	cifscreds update [-u username] [-d] <host|domain>

cifscreds add -u westos 172.25.254.216
cifscreds clear -u westos 172.25.254.216

在这里插入图片描述
多用户永久挂载
客户端:

vim /etc/fstab
写入:
//172.25.254.225/szy    /mnt    cifs    defaults,credentials=/root/smb_auth,sec=ntlmssp,multiuser       0 0

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值