Linux——Samba文件共享服务配置

SMB/CIFS协议

SMB协议(Server Message Block 又称Common Internet File System(CIFS)) 是由微软开发的网络传输协议,用来实现网络共享文件系统、打印机等资源。
SMB协议有多个版本和不同的兼容性。

  • SMBv1/CIFS: 也称为SMB1或CIFS。最初由Microsoft引入,后来成为Samba项目的一部分。由于安全性问题,现在已经不推荐使用。
  • SMBv2: SMBv2在Windows Vista和Windows Server 2008中引入,后来成为更高版本Windows系统的标准。在Linux中,SMBv2的支持在Samba3.6及更高版本中可用。
  • SMBv3: 引入了更多的安全性和性能改进。SMBv3在Windows 8和Windows Server 2012中引入。在Linux中,SMBv3的支持在Samba4.2及更高版本中可用。

Samba介绍

Samba是实现SMB协议的免费软件,由服务端、客户端构成,Samba能让Linux服务器实现文件服务器、身份授权和认证、名称解析和打印服务等功能。它支持对文件和目录进行读取、写入和执行等操作,同时还提供了身份验证机制来确保访问的安全性。Samba软件由Samba服务器、Samba客户端、Samba配置文件和Samba工具等组件组成,它们协同工作,提供了文件和打印机共享功能。

对比FTP协议,Samba可实现文件系统目录挂载,可直接修改服务端文件。
对比NFS协议,NFS V3版前没有内置身份验证和加密,性能较高,Linux系统间共享可选择NFS,与Windows共享选择SMB协议。

应用场景

  • 文件共享:用于在不同操作系统之间共享文件和文件夹,使得多个计算机可以访问和编辑同一个文件。
  • 打印共享:用于将打印机共享给局域网中的其它计算机,其它计算机可以通过网络访问打印机,并进行打印操作。
  • 身份验证:Samba作为域控制器,在网络中集中管理用户账户和权限,并确保只有授权用户可以访问特定的资源。
  • 文件备份:通过设置Samba服务器,可以将文件备份到远程位置,以保护数据免受硬件故障或意外删除的影响。
  • 共享存储:在虚拟化环境,Samba可用作存储解决方案,提供虚拟机之间的文件共享,并允许虚拟机通过网络访问共享存储。
  • 媒体服务器:通过多种设备(如智能电视、机顶盒、手机)访问播放共享音频、视频和图片等媒体文件,实现家庭娱乐和多媒体共享

Linux服务配置

# 安装samba服务
yum install samba -y

# 关闭selinux
# 编辑/etc/selinux/config 设置SELINUX=disabled
setenforce 0

# 打开防火墙
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

# 添加共享用户share
useradd -s /sbin/nologin share
smbpasswd -a share

# 重启samba服务
systemctl restart smb

Windows浏览共享

文件管理器浏览访问: \共享服务器IP
测试读写权限,创建文件夹正常

如需要添加其他用户控制读写权限,可配置/etc/samba/smb.conf文件
如下参考:

[share]
  comment = network share
  path = /home/share
  public = yes
  writable = yes
  printable = no
  browseable = yes
  valid users = share,user1,user2
  write list = share

谷歌发布最强AI大模型——真正多模态,30项性能得分超GPT-4 Spring Boot 3.2.0 正式发布
微信公众号