CIFS文件系统

来源:互联网 发布:商场女装品牌推荐 知乎 编辑:程序博客网 时间:2024/04/27 09:20

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

CIFS 可以使客户端达到以下功能:访问服务器本地文件并读写这些文件,与其它用户一起共享一些文件块。

smb
SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。
服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI 之上。
SMB 一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道(named pipe)等资源。
在 TCP/IP 环境下,客户机通过 NetBIOS over TCP/IP(或 NetBEUI/TCP 或 SPX/IPX)连接服务器。一旦连接成功,客户机可发送 SMB 命令到服务器上,从而客户机能够访问共享目录、打开文件、读写文件,以及一切在文件系统上能做的所有事情。
从 Windows 95 开始,Microsoft Windows 操作系统(operating system)都包括了客户机和服务器 SMB 协议支持。Microsoft 为 Internet 提供了 SMB 的开源版本,即通用 Internet 文件系统 (CIFS)。与现有 Internet 应用程序如文件传输协议(FTP)相比, CIFS 灵活性更大。对于 UNIX 系统,可使用一种称为 Samba 的共享软件。

1.samba作用

提供cifs协议实现共享文件

2.安装

安装包:samba-common ##samba的支持文件samba-client ##客户端应用程序samba ##服务器应用程序服务名称:smb服务端口:通常使用TCP/445进行所有连接。使用UDP137、UDP138、TCP/139向后兼容。

yum install samba samba-common samba-client -y
systemctl start smb nmb
systemctl enable smb nmb
smbclient -L //IP ##显示smb信息

3.添加smb用户

smb用户必须是本地用户
smbpasswd -a student ##完成后会将student的家目录共享出来
New SMB password: #输入smb当前用户密码
Retype new SMB password: #确认密码
smbclient -L //IP -U student ##显示smb信息
smbclient //IP/目录 -U student ##登陆共享目录
pdbedit -L #查看smb用户信息
pdbedit -x smb用户 #删除smb用户

setsebool -P enable_samba_home_dirs on | setenforce 0 ##在selinux中设定smb用户可以访问自己的家目录
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
在客户端:
yum install samba-client -y
在客户端访问smb时先需要挂载
这里写图片描述

4.共享目录的基本设定

vim /etc/samba/smb.conf
1>workgroup = WESTOS
这里写图片描述
修改后smb的workgroup已改为WESTOS
这里写图片描述
2>[DATA] 共享名称
comment = 对共享目录的描述
path = 共享目录的绝对路径
browseable = no ##不隐藏共享文件,yes时隐藏
这里写图片描述
这里写图片描述
/westos可共享
当共享目录为用户自建立目录时,需要修改安全上下文
semanage fcontext -a -t samba_share_t ‘目录名称(/.*)?’ ##修改安全上下文
restorecon -RvvF 目录名称

当共享目录为系统目录,需要内核打开权限
setsebool -P samba_export_all_ro on #只读共享
setsebool -P samba_export_all_rw on #读写共享

5.samba的配置参数

匿名用户访问

vim /etc/samba/smb.conf
guest ok = yes ##设置匿名登陆guest
map to guest = bad user ##guest映射smb匿名用户
这里写图片描述
这里写图片描述
在客户端:
这里写图片描述
在/etc/fstab下添加永久挂载
这里写图片描述
这里写图片描述

访问控制

hosts allow = #仅允许
hosts deny = #仅拒绝
valid users = #当前共享的有效用户
valid users = westos #当前共享的有效用户为westos
valid users = @westos #当前共享的有效用户为westos组
valid users = +westos #当前共享的有效用户为westos组

读写控制

所有用户均可写

chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
普通目录:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
在客户端就可以进行写操作
这里写图片描述
系统级目录:
服务端:
这里写图片描述
这里写图片描述
setsebool samba_export_all_rw on ##系统级文件内核需要开启写的权限
客户端:
修改开机自动挂载/etc/fstab
将DATA的挂载改为CONFIG的挂载
mount -a
df
这里写图片描述

设定指定用户可写

write list = student #可写用户
write list = +student #可写用户组
write list = @student
admin users = mj #共享的超级用户指定
这里写图片描述
当root用户挂载后再切换的到普通用户后还可以查看
这里写图片描述

6.smb客户端多用户挂载

在client上
安装cifs-utils
yum install cifs-utils -y
vim /root/smbpassword ##认证用户,所添加的用户必须是服务器端的smb用户
格式:
user=mj
password=redhat

这里写图片描述
这里写图片描述

chmod 600 /root
mount -o credentials=/root/smbpassword,multiuser,sec=ntlmssp //172.25.254.229/CONFIG /mnt/
credentials=/root/smbpassword 指定挂载时所用到的用户文件
multiuser 支持多用户认证
sec=ntlmssp 认证方式为标准smb认证方式

普通用户添加:
cifscreds add -u mj 172.25.254.229
Password: ##smb用户mj的密码
ls /mnt
这里写图片描述

cifscreds clear -u mj 172.25.254.229 ##取消
umount /mnt/
mount后再次切换查看不了mnt内容
这里写图片描述
这里写图片描述

cifscreds add -u student 172.25.254.229
这里写图片描述
这里写图片描述

在用认证文件的用户登陆时,clear后需要重新挂载后才能生效
其他用户是即时生效的。

原创粉丝点击