Samba是一个开源软件,它实现了SMB/CIFS协议,使得Linux系统可以扮演文件服务器角色,与Windows、macOS等系统无缝共享文件和打印机。简单说,通过搭建Samba服务器,你的Linux电脑就能变成一台强大的网络文件共享中心,其他设备可以像访问本地磁盘一样访问Linux上的文件夹。
Debian/Ubuntu系统:
sudo apt updatesudo apt install samba -y
RHEL/CentOS系统:
sudo yum install samba samba-client -y
安装完成后,可以检查版本:samba --version。
假设我们要共享一个名为 myshare 的文件夹,放在 /srv 下:
sudo mkdir -p /srv/mysharesudo chmod 777 /srv/myshare # 简单演示,正式环境请按需设置权限
注意:生产环境建议使用更严格的权限(如755),并控制所有者。
编辑配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加共享定义:
[myshare] comment = My Shared Folder path = /srv/myshare browseable = yes read only = no guest ok = no # 禁止匿名访问,需要用户认证 valid users = smbuser # 指定可访问的用户
保存退出。常用参数说明:path 指定共享路径;browseable 是否在网络上可见;read only 是否只读;guest ok 是否允许访客;valid users 允许的用户列表。
Samba使用独立的用户数据库,需要将系统用户添加到Samba中并设置密码:
sudo useradd smbuser # 如果该用户不存在则创建sudo smbpasswd -a smbuser # 设置Samba密码,会提示输入两次
启用该用户:sudo smbpasswd -e smbuser。
sudo systemctl start smbd # 启动Samba服务sudo systemctl enable smbd # 设置开机自启sudo systemctl status smbd # 查看服务状态
在较新版本中可能还有 nmbd 服务(用于NetBIOS名称解析),可按需启动:sudo systemctl start nmbd。
如果系统防火墙开启,需要允许Samba服务:
# firewalld (CentOS/RHEL)sudo firewall-cmd --add-service=samba --permanentsudo firewall-cmd --reload# ufw (Ubuntu)sudo ufw allow samba
或者直接开放端口:TCP 139,445 和 UDP 137,138。
Windows: 在文件资源管理器地址栏输入 \Linux服务器IP\myshare,然后输入刚才设置的smbuser和密码即可。
Linux: 安装smbclient:sudo apt install smbclient,列出共享:smbclient -L //服务器IP -U smbuser;挂载共享:sudo mount -t cifs //服务器IP/myshare /mnt -o username=smbuser。
如果遇到权限问题,检查SELinux:sudo setsebool -P samba_export_all_rw on 或临时关闭SELinux测试。
testparm命令测试)。read only设置正确。[global]段添加 name resolve order = hosts lmhosts wins bcast。通过以上步骤,你已经成功搭建了一个SMB共享服务器,实现了Linux共享给多平台设备。记得在生产环境中精细调整权限和安全性。
本文由主机测评网于2026-02-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20260227326.html