Linux配置Samba共享服务需四步:清理旧版本、安装启用服务、配置共享目录与权限、创建Samba用户;关键在权限、服务、防火墙、用户四者对齐,最后用testparm检查并重启服务。

在 Linux 运维中安装配置 Samba 共享服务,核心是让 Linux 系统能被 Windows 或其他 Linux 客户端以“网络邻居”方式访问文件,关键不在装得多快,而在于权限、服务、防火墙、用户四者对齐。
确认系统环境并清理旧版本
很多连接失败其实源于残留配置。先查有没有旧版 Samba:
- CentOS/RHEL:rpm -qa | grep samba
- Ubuntu/Debian:dpkg -l | grep samba
若存在,务必卸载干净:
- sudo yum remove samba*(RHEL系)
- sudo apt purge samba*(Debian系)
再检查 SELinux 状态:getenforce。若为 enforcing,临时设为 permissive 测试:sudo setenforce 0(确认问题后再决定是否永久调整策略)。
安装 Samba 并启用基础服务
用系统原生包管理器安装最稳妥:
- Ubuntu/Debian:sudo apt update && sudo apt install samba
- CentOS/RHEL 7+:sudo yum install samba samba-client samba-common
- CentOS/RHEL 8+ 或 Fedora:sudo dnf install samba
安装后立即启动并设为开机自启:
- sudo systemctl start smbd nmbd
- sudo systemctl enable smbd nmbd
- 验证状态:sudo systemctl status smbd(确保显示 active (running))
配置共享目录与权限
先创建共享路径并设好系统级权限:
- sudo mkdir -p /srv/samba/shared
- sudo chown -R root:sambashare /srv/samba/shared
- sudo chmod -R 2775 /srv/samba/shared(2775 保证组内新建文件继承组权限)
编辑主配置文件:sudo nano /etc/samba/smb.conf,在末尾添加:
[shared] comment = Internal File Share path = /srv/samba/shared browsable = yes writable = yes valid users = @sambashare force group = sambashare create mask = 0664 directory mask = 2775
注意:不要直接改 [global] 区段的 security = user(新版默认已启用),重点是确保 valid users 和系统组一致。
创建 Samba 用户并测试
Samba 用户必须是已存在的系统用户,且需单独设置 Samba 密码:
- 建组:sudo groupadd sambashare
- 建用户(无登录 shell):sudo useradd -M -s /usr/sbin/nologin alice
- 加进组:sudo usermod -aG sambashare alice
- 设 Samba 密码:sudo smbpasswd -a alice(会提示输入两次密码)
配置完成后,务必语法检查:sudo testparm。无报错再重启服务:sudo systemctl restart smbd nmbd。
从 Windows 资源管理器访问:\192.168.x.xshared,输入 alice 及其 Samba 密码即可登录。


















