Samba共享文件
在 Arch Linux 上安装并配置 Samba 共享文件可以按照以下步骤操作:
步骤 1: 安装 Samba
使用 pacman 安装 Samba:
1 |
|
安装 avahi软件包, 然后启用/启动 avahi-daemon.service 通过 Zeroconf 使 Samba 服务器可被发现
步骤 2: 配置 Samba
编辑 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: 测试共享
- 在 Windows 或其他设备上打开文件管理器。
- 输入地址,例如 \archserver 或 \<服务器IP地址>。
- 访问共享目录。
如果遇到问题,可以查看 Samba 日志来排查错误:sudo journalctl -u smb
sudo journalctl -u nmb
Samba共享文件
http://huishao.net/2025/08/26/Samba共享文件/