Linux之cifs文件系统及samba共享服务

78 篇文章 3 订阅
70 篇文章 2 订阅

linux之cifs文件系统及samba共享服务

  • 什么是cifs文件系统

cifs(common internet system)是一个新提出的协议,他是程序可以访问远程internet计算即上的文件并要求此计算机提供服务。
cifs使用的是客户/服务器模式。客户程序请求源在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。
cifs是公共的或开放的SMB协议版本

  • samba文件共享

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

实验环境准备:
client虚拟机:客户端,ip172.25.254.84
server虚拟机:samba文件共享服务端,ip172.25.254.184
真机ip:172.25.254.1

安装:

yum install samba samba-common samba-client -y

在这里插入图片描述
打开允许用户访问家目录的selinux开关

systemctl start smb
systemctl stop firewalld
getseboll -a |grep samba
setseboll -P samba_enble_home_dirs on

在这里插入图片描述
创建samba用户并测试:

smbpasswd -a student
smbclient -L //172.25.254.184 -U student
smbclient //172.25.254.184/student -U student
ls

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

访问windows:

smbclient -L //172.25.254.252 -U administrator
注意:访问windos必须指定用户,不支持匿名访问
  • samba用户添加与删除

系统与samba的用户及密码相互独立
但是系统用户影响samba用户的创建,即必须有该系统用户才能创建。

useradd liu   ##创建虚拟机用户
smbpasswd -a liu    ##创建samba用户并设定密码
pdbedit -L    ##查看samba用户
pdbedit -x liu    ##删除samba的liu用户
pdbedit -L

在这里插入图片描述

  • samba配置文件相关

修改Domain(域):

编写配置文件:

vim /etc/samba/smb.conf
89	workgroup = BLUE

systemctl restart smb

在这里插入图片描述
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

设置共享目录及共享文件:

创建共享目录和文件:

mkdir /smbshare
touch /smbshare/file{1..10}

在这里插入图片描述
编写配置文件:

vim /etc/samba/smb.conf
在文件末尾加入:
		[HAHA]
		comment = haha directory
		path = /smbshare

systemctl resart smb

在这里插入图片描述
修改后查看:
在这里插入图片描述

修改samba共享目录安全上下文:

查看共享目录安全上下文:

vim /etc/samba/smb.conf
第34行可查看共享目录安全上下文

修改共享目录安全上下文:

ls -Zd /smbshare
semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'
restorecon -RvvF /smbshare
ls -Zd /smbshare

在这里插入图片描述

挂载:

mount //172.25.254.184/HAHA /mnt/ -o username=student,password=123

在这里插入图片描述

匿名用户访问:

编写配置文件:

vim /etc/samba/smb.conf
编写加入:
124 map to guest = bad user
326 guest ok = yes

systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:

smbclient //172.25.254.184/HAHA

在这里插入图片描述
注意:如果访问不成功,请先hostname查看主机名,并设置/etc/hosts的域名解析

限制ip访问:

编写配置文件:

vim /etc/samba/smb.conf
编写加入:
   		 hosts allow = 172.25.254.184 ##允许184ip访问
   		 hosts allow = 172.25.254.    ##允许172.25.254网段ip访问
    	 hosts deny = 172.25.254.184  ##限制184ip访问
    	 hosts deny = 172.25.254.     ##限制172.25.254网段ip访问

systemctl restart smb

测试allow:
在这里插入图片描述
172.25.254.84可以访问
在这里插入图片描述
172.25.254.1被限制访问
在这里插入图片描述
测试deny:
在这里插入图片描述
172.25.254.84被限制访问
在这里插入图片描述
管理本地用户是否可写:

编写配置文件:

vim /etc/samba/smb.conf
		 writable = yes  ##所有用户可写
  		 write list = + student  ##student组用户可写

chmod 777 /smbshare/ #给共享目录权限
systemctl restart smb

测试所有本地用户可写:
在这里插入图片描述
在这里插入图片描述
测试只有student用户可写,其余用户不可写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

管理本地用户是否可以登陆:

编写配置文件:

vim /etc/samba/smb.conf
  		vaild users = student
  		vaild users = +student ##“+”和“@”表示用户组

systemctl restart smb

在这里插入图片描述
测试:
本地liu用户被限制登录,student用户可登录访问
在这里插入图片描述

管理用户是否可以查看(与可写不冲突):

编写配置文件:

vim /etc/samba/smb.conf
		  browseable = no

systemctl restart smb

在这里插入图片描述
测试:
更改前可查看共享目录,更改后不显示该共享目录,虽被隐藏但是不影响该目录的挂载。
在这里插入图片描述
共享目录添加管理员:

编写配置文件:

vim /etc/samba/smb.conf #编辑配置文件
		admin users = student   #设置student用户为该共享目录的管理员

systemctl restart smb #重新启动服务

在这里插入图片描述
测试:
共享目录中文件的所有者以及所属组与创建该共享目录的用户没有关系,只和使用的是哪一个登陆smb在该共享目录中创建的文件。
但是作为管理员,其所新建的文件所有者为root

用不是管理员的liu用户登录并创建共享文件
在这里插入图片描述
在这里插入图片描述
通过是管理员的student用户登录
在这里插入图片描述

  • samba多用户挂载

启用客户端的samba的安全锁,限制没有通过samba认证的用户不能查看共享的文件
超级用户挂载之后,可以读写samba共享内容
普通用户需要经过samba认证才可以读写samba共享内容

现象:在客户端root身份下指定用户挂载后,会发现root用户可在/mnt/目录下读写;
切换到普通用户student,会发现依然可以读写/mnt/下的文件,虽然创建文件会警告,但还是仍能创建成功,且文件的属性是属于客户端用户liu的。
这就存在了很大的安全隐患,普通用户没有通过samba认证就能够看到samba的共享内容。
在这里插入图片描述

设置步骤:
在客户端root用户:
编写配置文件:

vim /root/smbpass
编辑如下:
username=student
password=123

chmod 600 /root/smbpass
yum install cifs-utils -y

在这里插入图片描述
若想恢复客户端普通用户的权限:
使客户端student用户通过认证:

cifscreds add -u student 172.25.254.184

若是认证密码错误,那么下一次就不能进行认证,需要清除认证记录:

cifscreds clearall  

测试:

mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.184/HAHA /mnt/

在这里插入图片描述
永久挂载:

vim /etc/fstab
//172.25.254.184/HAHA /mnt cifs defaults,credentials=/root/smbpass,sec=ntlmssp,multiuser  0  0

在这里插入图片描述
重启后查看:
在这里插入图片描述
END

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值