如何在CentOS 7上搭建SMB服务

server/2024/11/14 5:57:49/

如何在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.ppmy.cn/server/141365.html

相关文章

Kafka-Eagle的配置——kafka可视化界面

通过百度网盘分享的文件&#xff1a;kafka-eagle-bin-2.0.8.tar.gz 链接&#xff1a;https://pan.baidu.com/s/1H3YONkL97uXbLTPMZHrfdg?pwdsltu 提取码&#xff1a;sltu 一、界面展示 二、软件配置 1、关闭kafka集群 kf.sh stop 2、将该软件上传到/opt/modules下 cd /opt…

MySQL 到 ClickHouse 数据同步优化(三)

简述 本文主要介绍 CloudCanal 如何将关系型数据库中数据同步到 ClickHouse&#xff0c;默认使用 ReplacingMergeTree 作为 ClickHouse 表引擎&#xff0c;链路特点包括&#xff1a; 新增 _version、_sign 字段&#xff0c;以便 ClickHouse 准确合并。DML 操作均以 INSERT 写…

esayExcel根据模板导出包含图片

1、效果 2、模板 3、工具类代码 /*** 根据模板填充* param response* param templateStream 模板文件流* param map 模板文件所需要的参数* param list list循环模板参数* throws IOException*/public static void templateFilling(HttpServletRequest servletRequest,HttpServ…

【Docker】自定义网络:实现容器之间通过域名相互通讯

文章目录 一. 默认网络&#xff1a;docker0网络的问题二. 自定义网络三. nginx容器指之间通过主机名进行内部通讯四. redis集群容器&#xff08;跳过宿主机&#xff09;内部网络通讯1. 集群描述2. 基于bitnami镜像的环境变量快速构建redis集群 一. 默认网络&#xff1a;docker0…

【QML 与 C++ 之间的通讯机制】QML 与 Qt 通讯:讲解如何在QML 中使用C++类,以及如何在C++ 中获取QML的内容

> 【QML 与 C 之间的通讯机制】QML 与 Qt 通讯:讲解如何在QML 中使用C类&#xff0c;以及如何在C 中获取QML的内容-阿里云开发者社区 在同一可执行文件中&#xff0c;C和QML共享同一个进程,但是它们运行在不同的线程上。 在Qt中&#xff0c;C和QML都是在同一个进程中运行的&…

MyBatis操作--进阶

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. 动态SQL 动态SQL是Mybatis的强⼤特性之⼀&#xff0c;能够完成不同条件下不同的sql拼接 1.1 <if>标签 比如说注册…

工位管理现代化:Spring Boot企业级框架

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

爬虫学习5

selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客 MYSQL数据库 MongoDB数据库 selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客 redis数据库 黑马程序员Redis入门到实战教程&…