Duke Yin's Technology database

Debian Ububtu 开放Smba共享供局域网访问

以下为在 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 对目录拥有读写权限。

  1. 将目录属主改为 duke(如符合你的使用逻辑):
sudo chown -R duke:duke /data/download/
  1. 设置适当权限(一般 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

#

发布评论

评论

标注 * 的为必填项。