iStoreOS 配置 Samba 共享服务指南 🛠️

Samba 是实现 Linux/Unix 与 Windows 系统间文件和打印机共享的核心服务。


📌 导航目录

✨ 一、功能与特点
🎯 二、服务端配置
🖥️ 三、客户端配置
🚀 四、进阶提示与故障排除
🔧 五、常用命令参考
💡 六、最佳实践


✨ 一、功能与特点

  • 🖥️ 跨平台访问:允许 Windows、macOS、Linux 及移动设备访问共享文件
  • 🔐 用户权限控制:可设置不同用户/密码,保障共享内容的安全
  • 📁 目录灵活共享:支持多个不同路径的目录分别设置独立共享
  • 高性能传输:针对内网环境优化,传输速度快
  • 🍎 兼容 macOS:支持 Apple Time Machine 备份及 DS_Store 等文件过滤
  • 🔧 配置简单:可通过 Web 界面或 SSH 命令行快速配置

🎯 二、iStoreOS 作 Samba 服务端

1️⃣ 创建用户并设置 Samba 密码

1
2
# 创建admin用户并设置Samba密码
useradd admin && smbpasswd -a admin

2️⃣ 创建共享目录并分配权限

1
2
# 创建共享目录并设置权限
mkdir -pm 755 /mnt/mydisk && chown -R admin:admin /mnt/mydisk

💡 提示

  • mkdir -p:确保路径中所有目录都被创建
  • chown -R:递归修改目录所有者

Samba 配置界面示意

共享示例说明

  • 名称ARS2(网络中显示的名称)
  • 路径/mnt/mydisk
  • 允许用户root

  • 名称Media

  • 路径/mnt/mydisk/media
  • 允许用户admin

3️⃣ 配置 Samba 服务

🔧 方法一:覆盖配置文件(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 备份原配置文件
cp -i /etc/samba/smb.conf /etc/samba/smb.conf.bak

# 生成新配置
cat > /etc/samba/smb.conf <<'EOF'
[global]
netbios name = ARS2
interfaces = br-lan
server string = Samba on OpenWRT
unix charset = UTF-8
workgroup = WORKGROUP
bind interfaces only = yes
deadtime = 15
enable core files = no
security = user
map to guest = Bad User
null passwords = yes
passdb backend = smbpasswd
socket options = IPTOS_LOWDELAY TCP_NODELAY
load printers = No
printcap name = /dev/null
disable spoolss = yes
printing = bsd
mdns name = mdns
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/
delete veto files = yes

socket options = IPTOS_LOWDELAY TCP_NODELAY SO_KEEPALIVE
max xmit = 131072
min receivefile size = 131072
fake oplocks = Yes
use sendfile = Yes
aio read size = 0
aio write size = 0
server min protocol = NT1
lanman auth = yes
ntlm auth = ntlmv1-permitted

[ARS2]
path = /mnt/mydisk
force user = root
force group = root
valid users = root
create mask = 0777
directory mask = 0777
read only = no
guest ok = no
fruit:encoding = native
fruit:metadata = stream
fruit:veto_appledouble = no
vfs objects = catia fruit streams_xattr

[media]
path = /mnt/mydisk/media
force user = root
force group = root
valid users = admin
create mask = 0777
directory mask = 0777
read only = no
guest ok = no
fruit:encoding = native
fruit:metadata = stream
fruit:veto_appledouble = no
vfs objects = catia fruit streams_xattr

[TV]
path = /mnt/mydisk/TV
force user = root
force group = root
valid users = admin
create mask = 0777
directory mask = 0777
read only = no
guest ok = no
fruit:encoding = native
fruit:metadata = stream
fruit:veto_appledouble = no
fruit:time machine = yes
vfs objects = catia fruit streams_xattr
EOF

# 重启 Samba 服务
/etc/init.d/samba4 restart

🔩 方法二:追加配置(保留原有配置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 追加配置到现有文件
tee -a /etc/samba/smb.conf <<'EOF'

[ARS2]
path = /mnt/mydisk
force user = root
force group = root
valid users = root
create mask = 0777
directory mask = 0777
read only = no
guest ok = no
fruit:encoding = native
fruit:metadata = stream
fruit:veto_appledouble = no
vfs objects = catia fruit streams_xattr
EOF

# 重启服务
/etc/init.d/samba4 restart

🖥️ 三、iStoreOS 作 Samba 客户端

配置 iStoreOS 挂载远程 Samba 共享目录:

Samba 客户端配置示意

参数说明

  • 服务器 IP10.10.10.245(Samba 服务端地址)
  • 共享文件夹Debian(服务端共享名称)
  • 挂载路径/mnt/mydebian(本地挂载点)
  • SMB 版本SMB V3(推荐版本,兼容性好)
  • 挂载参数可读/写
  • 字符集UTF8(避免中文乱码)
  • 用户名admin(服务端授权用户)
  • 密码yifan0719(对应用户的密码)

✅ 配置完成后,即可在 /mnt/mydebian 访问远程共享文件


🚀 四、进阶提示与故障排除

🔍 服务状态检查

1
2
3
4
5
# 查看Samba服务状态
service samba4 status

# 查看详细运行信息
smbstatus

🌐 防火墙设置

确保开放以下端口:

  • TCP 139:NetBIOS会话服务
  • TCP 445:SMB over TCP
  • UDP 137:NetBIOS名称服务
  • UDP 138:NetBIOS数据报服务

📝 日志查看

1
2
3
4
5
# 查看Samba日志
tail -f /var/log/samba/log.smbd

# 查看连接日志
tail -f /var/log/samba/log.<client-ip>

🔒 权限问题解决

1
2
3
4
5
6
# 检查目录权限
ls -la /mnt/

# 重新设置权限
chmod -R 755 /mnt/mydisk
chown -R admin:admin /mnt/mydisk

🔄 重新加载配置

1
2
# 不重启服务,重新加载配置
smbcontrol all reload-config

🔧 五、常用命令参考

用户管理命令

1
2
3
4
5
6
7
8
9
# 添加Samba用户
smbpasswd -a username

# 删除Samba用户
smbpasswd -x username

# 启用/禁用用户
smbpasswd -e username
smbpasswd -d username

连接测试命令

1
2
3
4
5
# 查看可用共享
smbclient -L //server-ip -U username

# 测试连接共享
smbclient //server-ip/sharename -U username

挂载命令

1
2
3
4
5
# 手动挂载Samba共享
mount -t cifs //server-ip/sharename /mnt/mountpoint -o username=user,password=pass

# 卸载共享
umount /mnt/mountpoint

💡 六、最佳实践

🛡️ 安全建议

  1. 使用强密码:为Samba用户设置复杂密码
  2. 限制访问:仅允许必要用户访问共享
  3. 定期更新:保持系统和Samba软件最新
  4. 网络隔离:将Samba服务放在隔离的网络段

📊 性能优化

  1. 启用大文件传输优化
    1
    2
    min receivefile size = 16384
    getwd cache = yes
  2. 调整缓存设置
    1
    socket options = TCP_NODELAY IPTOS_LOWDELAY

🔄 备份策略

  1. 定期备份配置文件
    1
    cp /etc/samba/smb.conf /etc/samba/smb.conf.backup.$(date +%Y%m%d)
  2. 测试配置有效性
    1
    testparm

🌍 多语言支持

确保正确设置字符集避免乱码:

1
2
3
unix charset = UTF-8
dos charset = UTF-8
display charset = UTF-8


希望本指南能帮助你快速配置 iStoreOS 的 Samba 服务!如有其他问题,欢迎探讨。🤝

📚 扩展阅读