webDav与SMB

highbury5 Lv1

webDav

wevDav 是基于http协议的,常用于互联网上的文件同步。由于它基于http协议,所以在不稳定网络下,性能比SMB更好

SMB

smb就是一种协议,常用于局域网上的文件同步。相比webDav,它传输速度更快

SMB安装

通过 Samba 直接共享 Nextcloud 数据目录

此方案将 Nextcloud 的数据存储目录通过 Samba 共享,允许用户通过 SMB 协议访问文件,同时 Nextcloud 仍能管理文件元数据。

步骤 1:安装并配置 Samba

  1. 安装 Samba(以 Ubuntu/Debian 为例):
1
2
sudo apt update
sudo apt install samba

运行

  1. 创建专用系统用户(若需独立权限):
1
2
3
sudo useradd smbuser -m -s /usr/sbin/nologin
sudo passwd smbuser # 设置密码(需与 Samba 密码一致)
sudo smbpasswd -a smbuser # 将用户添加到 Samba

运行

  1. 配置 Samba 共享: 编辑 /etc/samba/smb.conf,在文件末尾添加以下内容:
1
2
3
4
5
6
7
8
[Nextcloud]
path = /var/www/nextcloud/data # Nextcloud 数据目录(根据实际路径修改)
valid users = smbuser, www-data # 允许访问的用户(需包含 Web 服务器用户,如 www-data)
writable = yes
browsable = yes
create mask = 0660
directory mask = 0770
force group = www-data # 确保文件组为 Web 服务器用户组
  1. 设置目录权限
1
2
3
sudo chown -R www-data:www-data /var/www/nextcloud/data
sudo chmod -R 0770 /var/www/nextcloud/data
sudo setfacl -R -m g:smbuser:rwx /var/www/nextcloud/data # 若需 ACL 权限

运行

  1. 重启 Samba 服务
1
sudo systemctl restart smbd

运行

步骤 2:从客户端访问 SMB 共享

  • macOS:访达(Finder)中按 Cmd+K,输入 smb://服务器IP/Nextcloud,使用 smbuser 登录。
  • Windows:文件资源管理器地址栏输入 \\服务器IP\Nextcloud,输入账号密码。

注意事项:

  • 文件冲突:直接通过 SMB 修改文件可能导致 Nextcloud 未及时更新元数据,建议搭配 Nextcloud 客户端或手动执行 occ files:scan 命令同步。
  • 权限一致性:确保 Samba 用户和 Nextcloud 用户(如 [www-data](https://www-data))对文件有相同权限。
  • 标题: webDav与SMB
  • 作者: highbury5
  • 创建于 : 2025-03-18 08:43:05
  • 更新于 : 2025-03-18 08:46:53
  • 链接: https://highbury.fun/2025/03/18/webDav&SMB/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论