Samba共享文件

在 Arch Linux 上安装并配置 Samba 共享文件可以按照以下步骤操作:

步骤 1: 安装 Samba

使用 pacman 安装 Samba:

1
sudo pacman -S samba avahi 

安装 avahi软件包, 然后启用/启动 avahi-daemon.service 通过 Zeroconf 使 Samba 服务器可被发现

步骤 2: 配置 Samba

  1. 编辑 Samba 配置文件:

    1
    sudo vim /etc/samba/smb.conf

    [!IMPORTANT]

    path根据自己共享路径

    # 全局设置区域
    [global]
    # 设置工作组名称,Windows 默认是 WORKGROUP,保持一致可避免兼容问题
    workgroup = WORKGROUP
    
    # 设置 Samba 服务器的描述信息
    server string = Arch Samba Server
    
    # 设置主机在网络上的 NetBIOS 名称(即网络识别名)
    netbios name = archserver
    
    # 认证方式设为 "user",表示用户级别的访问控制(每个用户有独立账号)
    security = user
    
    # 如果输入的用户名无效,则将其映射为 guest 用户(匿名访问)
    map to guest = Bad User
    
    
    # 第一个共享目录设置 —— Tools
    [tools]
    # 设置共享目录的实际路径
    path = /run/media/Tools/
    
    # 允许被浏览,即用户可以在资源管理器中看到这个共享
    browseable = yes
    
    # 允许写入权限(不设置的话默认只读)
    writable = yes
    
    # 允许 guest(匿名)用户访问
    guest ok = yes
    
    # 不只读(与 writable 一起使用)
    read only = no
    
    # 创建文件的默认权限(八进制 0777 表示所有人可读写执行)
    create mask = 0777
    
    # 创建目录的默认权限(同上)
    directory mask = 0777
    
    
    # 第二个共享目录设置 —— Public
    [public]
    # 设置共享目录的实际路径
    path = /home/Public
    
    # 允许浏览该共享
    browseable = yes
    
    # 允许写入
    writable = yes
    
    # 允许 guest(匿名)访问
    guest ok = yes
    
    # 设置为非只读
    read only = no
    
    # 创建文件的权限
    create mask = 0777
    
    # 创建目录的权限
    directory mask = 0777
    

步骤 3: 创建共享目录并设置权限(可跳过)

确保共享目录存在,并设置正确的权限:
sudo mkdir -p /path/to/shared/directory
sudo chmod -R 777 /path/to/shared/directory
如果只允许特定用户访问,可以用以下方式设置权限:
sudo chown -R username:username /path/to/shared/directory

步骤 4: 设置 Samba 用户

为 Samba 添加用户(如果需要密码访问):
sudo smbpasswd -a username

步骤 5: 启用并启动 Samba 服务

启动和启用 Samba 服务:
sudo systemctl start smb nmb
sudo systemctl enable smb nmb

步骤 6: 防火墙设置(可选)

如果启用了防火墙,需要开放相关端口:
sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 138 -j ACCEPT
或者使用 ufw:
sudo ufw allow Samba

步骤 7: 测试共享

  1. 在 Windows 或其他设备上打开文件管理器。
  2. 输入地址,例如 \archserver 或 \<服务器IP地址>。
  3. 访问共享目录。
    如果遇到问题,可以查看 Samba 日志来排查错误:
    sudo journalctl -u smb
    sudo journalctl -u nmb

Samba共享文件
http://huishao.net/2025/08/26/Samba共享文件/
作者
huishao
发布于
2025年8月26日
许可协议