登录
首页 >  文章 >  linux

Linux搭建Samba共享步骤详解

时间:2026-04-25 23:55:20 383浏览 收藏

本文详细介绍了在Linux系统中搭建Samba文件共享服务的完整流程,涵盖从安装smbd和nmbd守护进程、创建安全可控的共享目录、精准配置smb.conf核心文件、添加独立认证的Samba用户,到启动服务并配置防火墙放行关键端口的每一步操作,兼顾Debian/Ubuntu与RHEL系发行版的差异,同时强调SELinux上下文等易被忽视的安全细节,是Windows与Linux跨平台无缝文件共享的实用、可靠、开箱即用的权威指南。

Linux怎么配置Samba文件共享_Linux Samba服务器搭建教程【实战】

如果您希望在Linux系统中实现与Windows客户端的文件共享,Samba是标准且兼容性良好的解决方案。以下是完成Samba文件共享配置的具体步骤:

一、安装Samba服务

在大多数Linux发行版中,Samba未默认安装,需通过包管理器手动安装。安装过程会同时部署smbd和nmbd两个核心守护进程,分别负责文件共享服务和NetBIOS名称解析。

1、对于基于Debian/Ubuntu的系统,执行:sudo apt update && sudo apt install samba

2、对于基于RHEL/CentOS/Rocky Linux/AlmaLinux的系统,执行:sudo dnf install samba samba-common-tools

3、验证安装是否成功:smbd --version

二、创建共享目录并设置权限

共享目录需具备明确的文件系统权限和SELinux上下文(如启用SELinux),否则Samba进程可能因权限拒绝而无法访问该路径。

1、新建专用共享目录:sudo mkdir -p /srv/samba/shared

2、设置目录属主为samba用户组(如存在sambashare组)或通用组:sudo chgrp sambashare /srv/samba/shared

3、赋予组读写执行权限:sudo chmod 2775 /srv/samba/shared

4、若系统启用SELinux,需添加samba_share_t类型:sudo semanage fcontext -a -t samba_share_t "/srv/samba/shared(/.*)?"

5、应用SELinux上下文变更:sudo restorecon -Rv /srv/samba/shared

三、配置smb.conf主配置文件

smb.conf是Samba服务的核心配置文件,需在[global]节中定义基础行为,并新增独立的共享节以声明可访问路径及其访问策略。

1、备份原始配置:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2、使用文本编辑器打开配置文件:sudo nano /etc/samba/smb.conf

3、在[global]段末尾添加以下行以启用用户认证和UTF-8支持:security = user

4、在文件末尾新增共享定义节:[shared]

5、在[shared]节下逐行添加:path = /srv/samba/shared

6、继续添加:browseable = yes

7、继续添加:read only = no

8、继续添加:valid users = @sambashare

四、创建Samba专用用户账户

Samba不直接复用系统密码,需为每个需访问共享的用户单独设置Samba密码。该账户必须已在系统中存在,且密码独立存储于/etc/samba/smbpasswd中。

1、确保目标用户已存在于系统中,例如user1:sudo useradd -M -G sambashare user1

2、为该用户设置Samba密码(不显示输入内容):sudo smbpasswd -a user1

3、启用该用户账户(如被禁用):sudo smbpasswd -e user1

4、确认用户已加入sambashare组:groups user1

五、启动并启用Samba服务

Samba依赖smbd(提供CIFS/SMB协议服务)和nmbd(提供NetBIOS名称服务)两个服务协同工作。防火墙需放行对应端口,且服务应设为开机自启。

1、启动smbd服务:sudo systemctl start smbd

2、启动nmbd服务:sudo systemctl start nmbd

3、启用开机自启:sudo systemctl enable smbd nmbd

4、开放防火墙中的Samba端口(TCP 139, 445;UDP 137, 138):sudo ufw allow 'Samba'(Ubuntu)或sudo firewall-cmd --permanent --add-service=samba && sudo firewall-cmd --reload(RHEL系)

5、检查服务运行状态:sudo systemctl status smbd nmbd

理论要掌握,实操不能落!以上关于《Linux搭建Samba共享步骤详解》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>