当前位置: 首页 > article >正文

如何在CentOS 7上搭建SMB服务

如何在CentOS 7上搭建SMB服务

因项目测试需求,需要自行搭建SMB服务,**SMB(Server Message Block)**协议是一种常用的文件共享方式,它可以让不同操作系统之间共享文件、打印机等资源。本文将带你一步步搭建一个简单的SMB服务,适用于CentOS 7系统。


1. 安装Samba

首先,确保你的系统中已安装Samba及其必要组件。打开终端并输入以下命令来安装:

sudo yum install samba samba-client samba-common

此命令会安装Samba服务器及其客户端工具。


2. 创建共享文件夹

选择或创建一个文件夹作为共享目录。为了便于管理,我们在/srv目录下创建一个名为shared的文件夹:

sudo mkdir /srv/shared

3. 创建Samba用户

Samba需要单独的用户认证。你需要为Samba添加一个用户,并设置密码:

sudo useradd sambauser       # 创建系统用户
sudo passwd sambauser         # 设置系统用户密码
sudo smbpasswd -a sambauser   # 将用户添加到Samba,并设置Samba专用密码

注意:sambauser可以替换为你想要的用户名。


4. 设置文件夹权限

确保共享文件夹的权限配置正确,以便Samba服务可以正常访问:

sudo chown -R sambauser:sambauser /srv/shared   # 设置文件夹所有权
sudo chmod 0775 /srv/shared                     # 设置文件夹权限
  • chown命令将文件夹的所有者和群组设置为sambauser
  • chmod 0775确保用户和群组具有读、写、执行权限,而其他用户只有读和执行权限。

5. 配置Samba

编辑Samba的配置文件/etc/samba/smb.conf

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容,以配置共享文件夹:

[shared]
   path = /srv/shared                # 指定共享文件夹路径
   available = yes                   # 设置共享资源可用
   valid users = sambauser           # 指定可以访问该共享的用户
   read only = no                    # 允许写入权限
   browsable = yes                   # 使共享资源可被浏览
   public = yes                      # 设置共享为公开的
   writable = yes                    # 允许写入权限

注意:将valid users中的sambauser替换为实际使用的用户名。


6. 启动和启用Samba服务

启动Samba服务,并设置为开机自启动:

sudo systemctl start smb
sudo systemctl start nmb
sudo systemctl enable smb
sudo systemctl enable nmb
  • smb服务提供文件共享功能。
  • nmb服务允许其他设备在网络上发现Samba服务。

7. 配置防火墙

确保防火墙允许Samba流量:

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

上述命令会开放防火墙中的Samba端口,使其他设备能够访问共享资源。


8. 访问共享文件夹

现在,你可以从Windows或其他Linux计算机访问共享文件夹。

  • 在Windows上:打开文件资源管理器,在地址栏中输入:

    \\<CentOS_IP>\shared
    

    <CentOS_IP>替换为你的CentOS服务器的IP地址。

  • 访问时,系统会提示输入用户名和密码,使用你在第3步中设置的用户名Samba密码即可。

在这里插入图片描述


结论

通过以上步骤,你已经成功在CentOS 7上搭建了一个Samba文件共享服务。


http://www.kler.cn/a/395257.html

相关文章:

  • Go开发指南- Goroutine
  • 「QT」文件类 之 QDataStream 数据流类
  • 【汇编语言】包含多个段的程序(二)—— 将数据、代码、栈放入不同的段
  • 【JAVA基础】JVM是什么?
  • react 中 useContext Hook 作用
  • 记录使用documents4j来将word文件转化为pdf文件
  • AviEar:一种基于物联网的低功耗鸟类声学监测解决方案
  • SQL HAVING子句
  • 【编码】【特征选择】【降维】
  • 大模型基础BERT——Transformers的双向编码器表示
  • Electron 项目实现下载文件监听
  • 实现高效数据集成:金蝶云星空对接MySQL的成功案例
  • Reddit 舞台上的 AI:解码用户生活密码,隐私警钟敲响
  • vue2 自动化部署 shell 脚本
  • PVE纵览-安装系统卡“Loading Driver”的快速解决方案
  • Python实现贪吃蛇 经典解压小游戏!附源码
  • 02-SpringBoot3Web开发
  • flink 同步oracle11g数据表到pg库
  • 腾讯首个3D生成大模型Hunyuan3D-1.0分享
  • C++中的栈(Stack)和堆(Heap)
  • adb 命令 查找启动的包名以及导出安装包
  • Redis下载历史版本
  • 【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:创新与应用
  • 删除 git config 保存的密码
  • UVa 11855 Buzzwords
  • react-redux useSelector钩子 学习样例 + 详细解析