在Ubuntu上开通Samba网络共享需要完成以下步骤:
一、安装Samba服务
bash
sudo apt update
sudo apt install samba samba-common-bin
二、创建共享目录
bash
sudo mkdir -p /srv/samba/share
sudo chmod 777 /srv/samba/share # 临时测试用权限,生产环境需更严格
三、配置Samba
-
备份原始配置:
bashsudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
-
编辑配置文件:
bashsudo nano /etc/samba/smb.conf
-
在文件末尾添加共享配置:
ini[UbuntuShare] # 共享名称(客户端看到的名称) path = /srv/samba/share # 共享目录路径 public = yes #权限公共,都可以访问 writable = yes # 允许写入
四、创建Samba用户(如需密码访问)
-
添加系统用户(若不存在):
bashsudo adduser smbuser
-
添加Samba用户密码:
bashsudo smbpasswd -a smbuser
(输入两次密码)
-
修改共享配置(取消匿名访问):
iniguest ok = no valid users = smbuser
五、重启Samba服务
bash
sudo systemctl restart smbd nmbd
六、防火墙配置
bash
sudo ufw allow samba
七、客户端访问方式
Windows客户端:
-
文件资源管理器地址栏输入:
\\ubuntu_ip_address
-
输入用户名
smbuser
和密码
Linux客户端:
bash
sudo apt install cifs-utils
sudo mkdir /mnt/ubuntu_share
sudo mount -t cifs //ubuntu_ip/UbuntuShare /mnt/ubuntu_share -o username=smbuser
macOS客户端:
-
Finder > 前往 > 连接服务器
-
输入地址:
smb://ubuntu_ip/UbuntuShare
八、高级配置选项(可选)
ini
# 限制访问IP段
hosts allow = 192.168.1.0/24
# 隐藏共享(仍可通过路径访问)
browseable = no
# 设置共享注释
comment = Ubuntu File Server
# 只读共享
read only = yes
writable = no
# 用户组访问
valid users = @smbgroup
九、测试与排查
-
检查配置语法:
bashtestparm
-
查看Samba状态:
bashsudo systemctl status smbd
-
查看共享列表:
bashsmbclient -L localhost -U smbuser
-
实时日志监控:
bashsudo tail -f /var/log/samba/log.*
十、自动挂载(Linux客户端)
编辑 /etc/fstab
添加:
bash
//server_ip/UbuntuShare /mnt/ubuntu_share cifs credentials=/etc/samba/creds,uid=1000,gid=1000 0 0
创建凭据文件 /etc/samba/creds
:
ini
username=smbuser
password=yourpassword
设置权限:
bash
sudo chmod 600 /etc/samba/creds
重要安全建议:
生产环境避免使用
777
权限,改用组权限:
bashsudo chown -R :smbgroup /srv/samba/share sudo chmod 770 /srv/samba/share
定期更新Samba:
sudo apt upgrade samba
敏感共享应禁用匿名访问
使用专用用户而非系统管理员账户
完成上述步骤后,您的Ubuntu系统即可通过Samba协议提供网络文件共享服务,支持Windows、Linux和macOS客户端访问。