Samba共享Nextcloud目录


Nextcloud是一款开源免费的私有云存储网盘,它提供了网页版和各平台的客户端,支持WebDAV协议。虽然WebDAV协议很方便在公网环境使用,但我们在家时,使用Samba协议去访问操作Nextcloud的文件更方便高效。

Samba共享也就是Windows共享,Samba协议也具有跨平台特性,支持广泛,是很通用的协议。在大量小文件操作时,会比WebDAV性能更好更稳定。

Samba配置

新建 smb-nc.conf 文件,内容如下:

[nc_wangzhengzhen]
    comment = nc_wangzhengzhen
    path = /data/nas/nc/data/wangzhengzhen/files
    browseable = no
    guest ok = no
    public = yes
    writable = yes
;    valid users = wx
;    write list = wx
;    create mask = 0775
;    directory mask = 0775
    force user = www-data
    force group = www-data
	
[nc_wangxinyue]
    comment = nc_wangxinyue
    path = /data/nas/nc/data/wangxinyue/files
    browseable = yes
    guest ok = yes
    public = yes
    writable = yes
    force user = www-data
    force group = www-data

Samba共享Nextcloud目录,最重要一点是权限问题。我的Nextcloud是用Docker安装的,运行用户是www-data,有的发行版Linux是web用户。force userforce group参数用来指定客户端连接Samba后,创建的文件所属用户和组。

如果不设置创建文件所属用户,可能会因为权限问题,导致Nextcloud客户端不能修改和删除由Samba上传的文件。

上面的配置是允许匿名用户访问和修改。Samba支持匿名用户访问、本地用户访问、虚拟用户访问。

// 增加虚拟用户
smbpasswd -a zhangsan
// 查看虚拟用户
pdbedit -L

Samba配置不是本章重点,网上有很多资料可以查到。

在Samba配置文件 /etc/samba/smb.conf 中引入外部配置文件

include = /data/config/samba/smb-nc.conf

重启Samba服务即可生效。

Nextcloud监控目录

默认情况下,通过Samba新增/删除的文件,在Nextcloud网页端或客户端是看不到的。

打开Nextcloud配置文件 config.php ,增加配置:

'filesystem_check_changes' => 1

重启Nextcloud服务,即可监控文件改变状态。

也可以手动扫描所有变更:

php occ files:scan --all 

启用不安全的来宾登录

从Win10开始,系统默认不允许空密码访问共享。

Win键+R,打开运行。输入 gpedit.msc 打开组策略。

计算机配置>管理模版>网络>Lanman 工作站 找到 启用不安全的来宾登录

启用即可。

解决Windows安全中心警告

通过共享访问,每次打开或右键操作exe,zip,rar文件时会弹出一个警告:

Win键+R,打开运行。输入 control 打开控制面板。

控制面板>网络和 Internet>Internet 选项

切换到安全选项卡,在本地 intranet中添加站点

站点可以是Nextcloud服务器的IP或域名。

保存关闭即可。

IOS系统自带的文件管理不支持WebDAV协议,通过Samba共享,可以不装第三方客户端就能访问Nextcloud文件了。

需要注意的是,通过Samba无法访问Nextcloud内部分享的文件。这种只能通过Nextcloud网页版或客户端查看。


除非注明,否则均为”攻城狮·正“原创文章,请注明出处。

本文链接:https://engr-z.com/487.html


发表评论

您的电子邮箱地址不会被公开。