cifs文件系统(在Linux下的用法)

cifs简介

CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
CIFS最典型的应用是windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹

一、samba安装及其调试

服务端ip:172.25.254.205

yum install samba-client samba-common.x86_64 samba.x86_64 -y  ##安装sam及其相关软件
(samba服务器的应用程序 samba-client客户端应用程序 samba-common是samba的支持文件)
systemctl restart firewalld.service               ##重启火墙
setsebool -P samba_enable_home_dirs on            ##SELinx布尔值开关
smbpasswd -a student                              ##创建smb用户
pdbedit -L                                        ##查看已有smb用户
pdbedit -x student                                ##删除已有smb用户

修改火墙策略
客户端想要连接服务端,服务端的火墙 要么允许服务 要么关闭。

firewall-cmd --permanent --add-service=samba  
firewall-cmd --reload 
firewall-cmd --list-all

二、samba共享目录

服务端
1、配置共享目录

vim /etc/samba/smb.conf            ##编辑
  322 [HAHA]                       ##[共享名称]
  323 comment = gongxiangshuoming  ##共享说明
  324 path = /westoss              ##共享目录路径
  
systemctl restart smb.service      ##重启smb服务
mkdir /westos                      ##建立目录

2、修改安全上下文
方式1:

semanage fcontext -a -t samba_share_t '/westos(/.*)?'   ##给目录sam的安全上下文
restorecon -FvvR /westos/                               ##刷新

在这里插入图片描述
在这里插入图片描述
方式2:
共享系统建立目录要修改的linux属性,此方式修改针对所有目录,一旦开放,selinux不保护目录访问

getsebool -a | grep samba ##查看SELinux的布尔值
samba_export_all_ro --> off ##可以只读
samba_export_all_rw --> off ##可以读写

3、测试

smbclient -L //172.25.254.205 -U student     ##查看student共享名称
smbclient //172.25.254.205/HAHA -U student   ##HAHA是自己写的共享名称
格式:smbclient //服务端IP/共享目录 -U sam用户名称

在这里插入图片描述

三、samba匿名访问

服务端

vim /etc/samba/smb.conf
   123         security = user
   124         passdb backend = tdbsam
   125         map to guest = bad user
   
   327 guest ok = yes

systemctl restart smb
mount //172.25.254.205/HAHA /mnt -o username=guest    ##可在挂载处管理文件

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

在这里插入图片描述

四、实名共享

服务端

vim /etc/samba/smb.conf    ##修改主配置文件
    #hosts deny =172.25.254.205 172.25.254.105    ##只拒绝
                 172.25.254.                      ##只拒绝网段
    hosts allow =172.25.254.5                    ##只允许

systemctl restart smb.service

在这里插入图片描述
只允许主机ip172.24.254.105连接

测试
服务端:

smbclient //172.25.254.205/HAHA -U student  ##登陆

在这里插入图片描述
登陆失败

客户端:
主机ip:172.25.254.105(挂载成功)

mount //172.25.254.205/HAHA /mnt -o username=student,password=123  ##挂载

在这里插入图片描述
主机ip:172.25.254.5(挂载失败)
在这里插入图片描述

五、挂载

服务端

mount //172.25.254.205/HAHA /mnt -o username=student,password=123  ##挂载

vim /etc/fstab               ##自动挂载
  //172.25.254.205/HAHA /mnt cifs defaults,username=student,password=123 0 0
  
mount -a

在这里插入图片描述

客户端

mount //172.25.254.228/student /mnt/ -o username=student,password=123 ##临时挂载

vim /etc/rc.d/rc.local        ##编写脚本永久挂载
chmod +x /etc/rc.d/rc.local   ##给脚本一个可执行权限

六、samba共享目录的管理参数

##注意
#关于读写被拒绝问题
#1)查看SELinux的安全上下文
#2)查看目录权限
#3)查看配置文件
#4)查看布尔值
##################

vim /etc/samba/smb.conf
 
  [westos]                ##共享名称
	comment = haohaiyo    ##共享说明
	path = /westos        ##共享途径
	guest ok = yes        ##允许匿名访问
	writable = yes        ##允许可写
	write  list = +student ##允许可写名单(student这个组,+和@意思相同)
	valid users = student  
	valid users = @student
	browseable = yes       ##查询时显示这个DIR目录
	admin users = student  ##登陆获得student身份
	
systemctl restart smb

七、smb多用户挂载

客户端

yum install cifs-utils.x86_64  -y   ##在客户端上管理的软件是cifs-utils
vim /root/passfile                     ##写入smb服务上真实存在的用户和密码
  1 username=student
  2 password=123
mount //172.25.254.205/HAHA /mnt -o credentials=/root/passfile,multiuser,sec=ntlmssp
 ##挂载多用户(credentials=/root/smbpass指定挂载时用到的用户身份,sec=ntlmssp认证方式为smb认证,multiuser支持多用户认证)

useradd text
su - text
cifscreds add -u redhat 172.25.254.205    ##增加samba用户
cifscreds clear -u redhat 172.25.254.205  ##清除samba用户
yum install cifs-utils.x86_64  -y       ##在客户端上管理的软件是cifs-utils
[root@desktop rc.d]# vim /root/passfile   ##写入smb服务上真实存在的用户和密码
  1 username=student
  2 password=123
  
[root@desktop rc.d]# mount //172.25.254.205/HAHA /mnt -o credentials=/root/passfile,multiuser,sec=ntlmssp
 ##挂载多用户(credentials=/root/smbpass指定挂载时用到的用户身份,sec=ntlmssp认证方式为smb认证,multiuser支持多用户认证)

[root@desktop rc.d]# useradd text    ##添加一个用户
[root@desktop rc.d]# su - text
[text@desktop ~]$ cd /mnt
[text@desktop mnt]$ ls              ##因为没有做smb的认证所以无法访问smb共享
ls: reading directory .: Permission denied
[text@desktop mnt]$ cifscreds add -u student 172.25.254.205  ##用smb用户作认证
Password: 
[text@desktop mnt]$ ls
file  file1
[text@desktop mnt]$ 

在这里插入图片描述

[text@desktop mnt]$ cifscreds clear -u student 172.25.254.205    ##清除认证

猜你喜欢

转载自blog.csdn.net/weixin_44297303/article/details/88020973