以下为在 Debian 13 上使用 Samba 将 /data/download/ 以读写权限共享给局域网,并使用系统用户 duke 登录访问的标准化实施步骤。流程确保权限正确、访问可写、凭证匹配清晰。
如果系统中不存在duke用户,需要先创建一个用户:
# 添加系统用户(如果还没有合适的用户)
sudo useradd -M -s /usr/sbin/nologin duke
sudo passwd duke# 设置系统密码
# 设置 Samba 密码(与系统密码可以不同)
sudo smbpasswd -a duke
一、安装 Samba
sudo apt update
sudo apt install samba
Samba 服务安装后会自动启动,可执行:
systemctl status smbd
二、准备共享目录权限
假设目录已存在 /data/download/,确保系统用户 duke 对目录拥有读写权限。
- 将目录属主改为 duke(如符合你的使用逻辑):
sudo chown -R duke:duke /data/download/
- 设置适当权限(一般 775 即可):
sudo chmod -R 775 /data/download/
如需要更严格或更开放权限,可以调整。
三、创建 Samba 登录用户(映射到系统用户 duke)
Samba 需要单独为用户设置登录密码,即使对应系统用户已经存在。
sudo smbpasswd -a duke
按提示输入两次密码。
启用用户:
sudo smbpasswd -e duke
四、配置 Samba 共享
编辑主配置文件:
sudo nano /etc/samba/smb.conf
在文件 结尾 添加以下共享段:
[download]
path = /data/download
available = yes
browseable = yes
writable = yes
read only = no
valid users = duke
force user = duke
force group = duke
create mask = 0664
directory mask = 0775
关键点说明:
valid users = duke 仅允许 duke 登录。
force user / force group 确保所有写入文件的属主都是 duke,避免权限问题。
create mask / directory mask 控制新文件权限。
保存退出。
五、检查配置语法并重启服务
检查语法:
sudo testparm
如无报错,重启 Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
六、防火墙配置(如果你启用了 UFW 或 nftables)
Debian 默认未启用 UFW,但若使用,请执行:
sudo ufw allow samba
或使用 nftables,确保以下端口可访问:
- 137/udp
- 138/udp
- 139/tcp
- 445/tcp
七、客户端访问方式
Windows 访问
在资源管理器地址栏输入:
\\192.168.2.6\download
输入用户名密码:
- 用户名:duke
- 密码:你在 smbpasswd 设置的密码
Linux 访问(例如另一台 Debian/Ubuntu)
安装 CIFS 支持:
sudo apt install cifs-utils
挂载:
sudo mount -t cifs //192.168.2.6/download /mnt \
-o username=duke,password=你的密码,vers=3.0
八、可选:自动开机挂载(Linux 客户端)
在客户端 /etc/fstab 添加一行:
//192.168.2.6/download /mnt cifs username=duke,password=你的密码,vers=3.0 0 0
#smba