文档首页> 云计算> Debian搭建smb服务器

Debian搭建smb服务器

发布时间:2025-07-27 00:04       

Debian搭建SMB服务器专业指南 🖥️


一、环境准备与安装

  1. 更新系统

    sudo apt update && sudo apt upgrade -y  
    

    📌 确保系统为最新状态(推荐Debian 12+)

  2. 安装Samba核心组件

    sudo apt install samba smbclient cifs-utils -y  
    
    • samba:SMB协议主服务
    • smbclient:SMB客户端工具
    • cifs-utils:挂载工具
  3. 验证安装

    samba --version  # 输出应显示4.17+版本  
    

二、基础配置

  1. 备份原始配置
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak  
    
  2. 编辑主配置文件
    sudo nano /etc/samba/smb.conf  
    
  3. 全局设置([global]节添加)
    [global]  
    workgroup = WORKGROUP      # 与Windows工作组同名  
    server string = Debian Samba Server  
    security = user            # 用户密码认证  
    map to guest = bad user    # 匿名访问处理  
    dns proxy = no             # 禁用DNS代理  
    log file = /var/log/samba/log.%m  # 分设备日志  
    max log size = 1000        # 日志大小(MB)  
    

三、创建共享目录

  1. 建立共享文件夹并授权
    sudo mkdir -p /srv/samba/shared  
    sudo chmod 2770 /srv/samba/shared   # SGID保持组权限  
    sudo chown nobody:nogroup /srv/samba/shared  # 匿名访问权限  
    
  2. 添加共享配置(追加到smb.conf)
    [PublicShare]  
    path = /srv/samba/shared  
    browseable = yes          # 在网络中可见  
    writable = yes            # 允许写入  
    guest ok = yes            # 允许匿名访问  
    create mask = 0775        # 新文件权限  
    directory mask = 0775     # 新目录权限  
    

四、用户认证配置(安全共享)

  1. 创建系统用户

    sudo useradd -M -s /usr/sbin/nologin samba_user  # -M不创建家目录  
    sudo passwd samba_user  # 设置系统密码  
    
  2. 添加Samba用户

    sudo smbpasswd -a samba_user  # 设置SMB专用密码(可与系统密码不同)  
    

    🔐 密码策略:长度12位+大小写数字组合

  3. 创建私有共享配置

    [PrivateShare]  
    path = /srv/samba/private  
    valid users = samba_user   # 仅允许指定用户  
    browseable = yes  
    writable = yes  
    guest ok = no              # 禁止匿名访问  
    
  4. 目录权限控制

    sudo mkdir /srv/samba/private  
    sudo chown samba_user:samba_user /srv/samba/private  
    sudo chmod 1770 /srv/samba/private  # Sticky位防用户互删  
    

五、服务管理

  1. 启动服务并设自启

    sudo systemctl enable --now smbd nmbd  
    
    • smbd:文件共享服务
    • nmbd:NetBIOS名称解析
  2. 检查服务状态

    sudo systemctl status smbd | grep Active  
    # 正常输出:Active: active (running)  
    
  3. 重载配置(免重启)

    sudo smbcontrol all reload-config  
    

六、防火墙配置

sudo apt install ufw -y  
sudo ufw allow samba  # 自动开放端口  
# 或手动开放端口:  
sudo ufw allow 139/tcp  # SMB会话  
sudo ufw allow 445/tcp  # SMB直连  
sudo ufw allow 137/udp  # NetBIOS名称  
sudo ufw allow 138/udp  # NetBIOS数据报  
sudo ufw enable  

七、客户端连接测试

  1. Linux客户端挂载
    mkdir ~/samba_mount  
    sudo mount -t cifs //debian_ip/PublicShare ~/samba_mount -o guest  
    # 私有共享需认证:  
    sudo mount -t cifs //debian_ip/PrivateShare ~/private_mount -o username=samba_user  
    
  2. Windows客户端访问
    文件资源管理器地址栏输入:  
    \\debian_ip\PublicShare  
    
  3. 命令行验证
    smbclient -L //debian_ip -U samba_user  
    # 输入密码后显示可用共享列表  
    

八、高级配置技巧

  1. 多用户权限控制
    [DepartmentShare]  
    path = /srv/samba/dept  
    valid users = @samba_group  # 用户组控制  
    writable = yes  
    inherit permissions = yes   # 继承父目录ACL  
    
  2. 创建用户组
    sudo groupadd samba_group  
    sudo usermod -aG samba_group user1 user2  
    sudo smbpasswd -a user1  
    sudo smbpasswd -a user2  
    sudo chgrp -R samba_group /srv/samba/dept  
    sudo chmod 2770 /srv/samba/dept  
    
  3. 日志监控
    tail -f /var/log/samba/log.*  # 实时查看访问日志  
    
  4. 回收站功能
    [SharedWith