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 user和force 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网页版或客户端查看。
除非注明,否则均为”攻城狮-正“原创文章,请注明出处。
发表回复