K3终极折腾记<二>

书接上回:

六、配置续

先更正一下,前面写到挂载参数的时候,前后有async,sync不一致。这个根据自己的实际情况选择,两种都行,只要和服务端一样就行。async性能好点,但同步文件显示会慢一点(实际上基本感觉不出来)。
再补充一下,前面讲到nextcloud安装时一笔带过了,docker安装这个时有个坑,数据库选postgresql时,用户必须是postgres,主机要填ip:端口。
好了,上回说到用nfs挂载的方式把openwrt上共享出来的资源挂在了nextcloud的文件这个文件夹里了,这样其实只是完成了一小部分工作,因为挂上了后,去网页端登陆看,根本就没这个共享的文件!这是因为插队不受待见~ php没有理这个共享文件。所以要改config.php这个文件:

# 在config.php里加一行   
'filesystem_check_changes' => 1,

笔者直接把html之后的文件存在了宿主机上,改起来方便。如果你没映射出来,就用docker cp拷出来改。加完这一条重启容器,好了,文件里就有nfs共享的文件了。
其实nextcloud的外部存储支持samba(打开外部存储支持app),samba可以直接接入。但是接入后一样有权限这些问题,笔者这处理办法就是手工接入了,不用那个外部接入app。
这样虽然能显示了,但也存在权限问题,openwrt的默认umask是0022,linux大多是0002,文件夹默认是666,即使改成777也没用。这个问题分两部分来看,因为这样配置挂载的nfs既受nextcloud控制,也受openwrt影响,nextcloud这边没有问题,因为在终端上传的文件用户都是www-data,自然可以删改。问题在于从openwrt这边传入到nfs分享文件夹的文件!这个就要做nfs配置,也很简单:

# 在brower界面网络存储--nfs管理中改选项
rw,async,all_squash,insecure,no_subtree_check,anonuid=0,anongid=0

简单说一下:
主要就all_squash:故名思意,都是南瓜 就是把所有使用到这个分享文件夹的用户都当南瓜处理了。
anonuid=0,anongid=0:又故名思意,待会uid=0,gid=0。这两个指定了是什么南瓜,众所周知,uid=0是root,gid=0是root组。所以这三个选项就说明了:把所有使用这个文件夹的用户都当成root牌南瓜。又众所周知,root拥有所有权限,不受文件权限限制。
这里可能有人会认为不够安全,我也这样想的。不过openwrt也就一个root用户,反正都是自己个人用。也无所谓了!当然还有一种相对安全得多的办法:那就是设成

rw,async,no_root_squash,insecure,no_subtree_check

这样就没有root牌南瓜了,那怎么让前端有删改权限呢?在openwrt这边要上传文件时,临时开一个shell连到路由上;

umask 000

这样就行了!安全总是要付出相应成本的,用起来自然不如前面的方法方便。这个办法是临时改权限掩码,只针对当前shell有效。关了又回到0022了。所以安全了!
测试之后发现,没用几次,共享文件夹的权限乱了~,显示???这样子的,很明显不靠谱嘛!
再改,既然二边争权限我搞出个共有的用户不就行了,去容器内查看

cat /etc/passwd

发现www-data用户的uid=33,gid=33.
如此到openwrt中建一个同id的同名用户即可。
OK,现在使用这个nfs分享文件夹和nextcloud本来的文件夹就一样了,可能会造成使用容量显示不正确的问题,这就别管了吧~

七、稍微总结一下

可能这二篇文章在很多人看来不太友好,一头雾水。但笔者也没办法,这个k3改造的工程浩大涉及的方面比较多,要是写清每一点,再配上图片,最后解释一下操作原理。估摸着能成一本书。所以就这样吧,如有其它想法再续~
最后附上固件下载:
https://download.csdn.net/download/alal001/85450537

原创文章,未经许可,禁止转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无证的攻城狮

如本文对您有用,大爷给打个赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值