Samba是实现Linux与Windows文件共享的核心工具,通过安装smbd服务、配置共享目录权限、设置用户访问控制及防火墙规则,可实现跨平台高效安全的文件共享。

在多系统混合使用的环境中,Linux与Windows之间的文件共享非常常见。Samba 是实现跨平台文件共享的核心工具,它兼容 SMB/CIFS 协议,让 Linux 能够像 Windows 文件服务器一样被访问。通过合理配置,可以实现高效、安全的空间共享。
安装与启用 Samba 服务
大多数 Linux 发行版都支持通过包管理器安装 Samba。以常见的发行版为例:
- Ubuntu/Debian:sudo apt install samba samba-common-bin
- CentOS/RHEL:sudo yum install samba samba-common 或使用 dnf
安装完成后启动服务并设置开机自启:
sudo systemctl start smbdsudo systemctl enable smbd
配置共享目录
编辑主配置文件 /etc/samba/smb.conf,在文件末尾添加共享定义:
[shared]path = /srv/samba/shared
browseable = yes
read only = no
guest ok = yes
create mask = 0644
directory mask = 0755
force user = nobody
说明:
- path:指定共享的实际路径,需提前创建并设置权限
- read only = no:允许读写
- guest ok:允许访客访问(无需密码),若需认证设为 no
- force user:所有操作以指定用户身份执行,避免权限问题
创建目录并赋权:
sudo mkdir -p /srv/samba/sharedsudo chmod -R 755 /srv/samba/shared
sudo chown -R nobody:nogroup /srv/samba/shared
用户权限与安全设置
若关闭 guest 访问,需为 Samba 添加用户:
sudo smbpasswd -a username该用户必须是系统已存在的账户。设置密码后,Windows 访问时需输入此账号密码。
为增强安全性,可在配置中限制访问网段:
hosts allow = 192.168.1.0/24并确保防火墙放行 Samba 端口:
sudo ufw allow 'Samba'(Ubuntu)sudo firewall-cmd --allow-service=samba(CentOS)
从 Windows 访问共享
在 Windows 文件资源管理器地址栏输入:
\\你的LinuxIP\shared若启用 guest,可直接访问;否则提示输入用户名和密码。可右键“映射网络驱动器”长期挂载。
Linux 本机也可测试:
smbclient -L \\\\127.0.0.1 -U%基本上就这些。配置完成后重启 Samba 服务生效:sudo systemctl restart smbd。只要路径权限、配置语法和网络连通性没问题,跨平台共享就能稳定运行。










