一、CIFS简介
CIFS (Common Internet File System) 是一种网络协议,用于在局域网内共享文件和打印机。它允许用户通过网络访问共享资源,就像访问本地文件系统一样。CIFS 是一种客户端-服务器协议,其中客户端(通常是个人计算机)通过请求共享资源的位置和身份验证信息来访问服务器上的文件。
二、CIFS使用场景
- 企业内部文件共享:企业内部各部门或团队之间可以通过 CIFS 共享文件,方便员工协作和数据交换。
- 服务器资源共享:在服务器环境中,CIFS 允许不同操作系统之间的服务器共享文件,以便在不同服务器上的应用程序可以访问相同的文件。
- 跨平台文件访问:CIFS 可以在 Windows、Linux、macOS 等不同操作系统之间实现文件共享,使得用户能够在一个平台上访问另一个平台上的文件。
- 家庭网络文件共享:在家庭网络中,CIFS 可以用于在不同设备(如电脑、手机、平板等)之间共享文件,方便家庭成员互相访问和传输数据。
- 虚拟化环境中的应用:在虚拟化环境中,CIFS 可以用于在虚拟机和主机之间共享文件,以便虚拟机可以访问主机上的文件。
三、CIFS文件共享的特性
优点
- 易于设置和使用:CIFS 是一种标准的网络协议,大多数操作系统都内置了 CIFS 客户端,因此设置和使用 CIFS 共享相对简单。
- 兼容性强:CIFS 是一种广泛使用的协议,许多应用程序和操作系统都支持它。因此,使用 CIFS 共享文件可以确保与其他设备和应用程序的兼容性。
- 可扩展性强:CIFS 支持多用户访问和身份验证,这意味着多个用户可以同时访问共享资源,并且可以通过用户名和密码或其他身份验证方法进行身份验证。
缺点
- 安全性问题:由于 CIFS 使用明文传输用户名和密码,因此容易受到网络入侵。此外,CIFS 不提供加密传输文件内容的功能,这可能会泄露敏感数据,尽管 CIFS 在许多场景下都很实用,但在一些需要更高安全性、性能或兼容性的环境中,其他文件共享协议(如 NFS 或 Samba)可能更为合适。
- 性能问题:由于 CIFS 是基于客户端-服务器架构的,因此当大量用户同时访问共享资源时,可能会影响性能。
四、CIFS实验
4.1 实验环境
4.1.1 实验拓扑
如下图,Win10和Rocky两台主机接入到同一网络Net1中,Net1网络已配置NAT服务,两台主机互通且可以访问Internet,另外Rocky主机e1网卡接入Mgmt网络方便远程管理。
4.1.2 实验规划
本次实验由Win10主机提供CIFS文件共享服务,Rocky主机以客户端角色访问CIFS共享文件夹。
主机名 |
IP地址 |
操作系统 |
localhost |
e0: 172.16.0.100/24 |
Rocky Linux 8.9 (Green Obsidian) |
N/A |
e0: 172.16.0.10/24 |
Windows 10 Pro 21H1 |
4.2 Win10主机开启文件共享
打开文件资源管理器,创建目录“share”,在该目录下新建文件“REDAME.txt”,编辑内容写入“This is a shared folder”
共享“share”文件夹,右键“share”目录,Properties(属性)–>sharing(共享)–> share,选择当前用户,点击Share(共享)
点击“Share”后,系统弹出询问窗口“是否打开网络发现和文件共享在所有的网络上”,选择“Yes”选项
“share”文件夹已共享,点击“Done”(完成)
4.3 Rocky主机连接测试
CIFS 是针对 Microsoft Windows 操作系统的本地网络文件系统。Linux 系统可以挂载和访问 CIFS 文件共享 , 如同常见的网络文件系统一样。然而 , 由于 CIFS 是基于 NTFS 文件系统权限模型及其自身的身份验证系统来构建的 , 因而 CIFS 协议中的所有内容并不能很好地映射到 Linux 中。
samba-client RPM 软件包所包含的 smbclient 实用程序可用来识别由 Windows 或 Samba 文件服务器提供的 CIFS 共享。该实用程序工作起来犹如在 Microsoft Windows 中单击网上邻居。
安装samba-client软件包:
[root@localhost ~]# yum -y install samba-client
识别共享服务器的共享目录:
[root@localhost ~]# smbclient -L //172.16.0.10 -U user -N --password=Test123
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
share Disk # 发现共享目录“share”
SMB1 disabled -- no workgroup available
安装cifs工具包,挂载“public”目录:
[root@localhost ~]# yum -y install cifs-utils
[root@localhost ~]# mkdir /mnt/share
[root@localhost ~]# mount -t cifs //172.16.0.10/share /mnt/share -o username=user,password=Test123
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rl-root xfs 37G 2.2G 35G 6% /
/dev/mapper/rl-home xfs 19G 162M 18G 1% /home
/dev/vda1 xfs 1014M 172M 843M 17% /boot
tmpfs tmpfs 794M 0 794M 0% /run/user/0
//172.16.0.10/share cifs 40G 18G 23G 45% /mnt/share # 成功挂载cifs共享目录
如果想要永久挂载cifs共享目录,编辑“/etc/fstab”文件,添加一行:
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Dec 14 05:09:52 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rl-root / xfs defaults 0 0
UUID=e629f80e-7773-478a-90bb-2071e248cf79 /boot xfs defaults 0 0
/dev/mapper/rl-home /home xfs defaults 0 0
/dev/mapper/rl-swap none swap defaults 0 0
//172.16.0.10/share /mnt/share cifs user=user,password=Test123 0 0 # 添加该行
卸载“/mnt/share”,使用“mount -a”读取/etc/fstab文件重新挂载:
[root@localhost ~]# umount /mnt/share
[root@localhost ~]# mount -a
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
[root@localhost ~]#
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]#
[root@localhost ~]# mount -a
[root@localhost ~]#
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rl-root xfs 37G 2.3G 35G 7% /
/dev/mapper/rl-home xfs 19G 162M 18G 1% /home
/dev/vda1 xfs 1014M 172M 843M 17% /boot
tmpfs tmpfs 794M 0 794M 0% /run/user/0
//172.16.0.10/share cifs 40G 18G 23G 45% /mnt/share
查看“README.txt”文件的内容:
[root@localhost ~]# cd /mnt/share
[root@localhost share]# ls
README.txt
[root@localhost share]# cat README.txt
This is a shared folder.[root@localhost share]#
[root@localhost share]#
新增一个文件:
[root@localhost share]# echo 'Hello,world!' > newfile.txt
[root@localhost share]# ls
newfile.txt README.txt
[root@localhost share]# cat newfile.txt
Hello,world!
删除一个文件:
[root@localhost share]#服务器托管网 touch rmtest
[root@localhost share]# ls
newfile.txt README.txt rmtest
[root@localhost share]# rm -f rmtest
[root@localhost share]# ls
newfile.txt README.txt
参阅
Linux下如何使用CIFS和Samba? (cifs linux samba)
linux文件网络访问,Linux运维笔记-文档总结-cifs网络文件系统访问-CSDN博客
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
默认的title不能设置样式,但我们可以通过js和css实现title的功能。 CSS样式: /*修改提示框*/ #mytitle { position: absolute; color: #ffffff; max-width: 160px; font-siz…