Files
StudyDiary/10-WebClipper/一文解决群晖和飞牛docker文件夹的权限相关问题(限纯网页端)_网络存储_什么值得买.md
T
2026-07-23 20:36:13 +08:00

54 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
2025-12-19 07:50:29 0点赞 3收藏 0评论
### 前言
> 作为一枚不是那么正宗的屯屯鼠,之前很长一段时间都使用[群晖](https://pinpai.smzdm.com/2315/)作为唯一的[NAS](https://www.smzdm.com/ju/sp3qr1k/)系统,直到某天看到最近很火飞牛os终于出了正式版,决定体验一下,结果发现这玩意整的还真不错,特别是飞牛影音那是真滴方便,于是决定将影视库和工具类的docker搬到飞牛系统中运行,然而,遇到了用命令行创建docker时,挂载目录权限的问题导致docker出现错误,寻思着来趁机来聊聊群晖和飞牛docker挂载目录权限出现问题时如何解决,也是为自己做一个记录(本文以安装qbittorrent为例,并尽量不使用命令行而是用使用比较可视化的方法)
>
> 飞牛的文件夹权限逻辑和群晖的有很大差别,而这种差别也在创建docker容器时也有体现
### 群晖
群晖安装container manager后会自动创建一个名为docker的文件夹,并赋予其ContainerManager、administrators的读写权限和Everyone的只读权限,但这样的权限很多时候无法满足使用需求,比如如果挂载了qbittorrent的config文件夹,启动docker容器时会报Could not create required directory 这样的错误导致甚至容器都无法创建成功,这个时候有两个解决问题的简单方法
**一.**为容器添加环境变量PUID=1026,PGID=101(对支持 PUID/PGID 环境变量的镜像)
[![](https://am.zdmimg.com/202512/17/69425d60282ba6072.png_e1080.jpg)
](https://post.smzdm.com/p/a0vgm420/pic_2/)
这两个id是你运行群晖时默认创建用户的uid和管理员组gid (至少7.2版本时这样的,如果设置之后还是有问题的话进命令行查一下用户id填进去就行),添加后这两个环境变量后你的容器就默认运行在此用户下,并且创建和下载的文件所有者也是此用户,权限问题就此解决
**二.**群晖文件权限问题的通用解:添加everone的可读写权限(右键文件夹-点击属性-点击权限-点击新增)
[![](https://am.zdmimg.com/202512/17/69425d60598da6072.png_e1080.jpg)
](https://post.smzdm.com/p/a0vgm420/pic_3/)
包治百病,只是牺牲了一点点理论上的安全性
### 飞牛
飞牛os虽然不会在你安装docker应用时替你创建一个带权限设置的docker文件夹,但因为飞牛里容器会默认以root用户运行(应该是),所以你只需要随便创建一个文件夹并挂载运行即可,绝大多数时候完全不需要进行任何额外的文件夹权限设置,qbittorrent的创建和使用中不会出现任何的权限问题。
一切都很美好,我们已经搞定了一切….么?
之所以只是说绝大多数时候,是因为偶尔有些镜像配置里使用了非root用户的情况,比如,我在用docker-compose创建archivebox/archivebox时就遇到了权限错误,虽然容器的运行和执行下载任务都没有问题,但如我在飞牛网页端对下载的文件进行替换的话,会导致容器读不到被替换后的文件而出现错误
就像这样:原文件的所有者是911
[![](https://am.zdmimg.com/202512/17/69425d604db8f6072.png_e1080.jpg)
](https://post.smzdm.com/p/a0vgm420/pic_4/)
而被替换后的文件所有者变成当前登录网页的飞牛用户:ceshi(这是我的测试用户)
[![](https://am.zdmimg.com/202512/17/69425d60273716072.png_e1080.jpg)
](https://post.smzdm.com/p/a0vgm420/pic_5/)
替换后在网页端打开这个文件会报Server Error (500),该怎么解决呢?倒也简单,和群晖的第一种方法原理相同,在环境变量里添加PUID=1000,PGID=1000就一般可以搞定(飞牛里无法设置文件权限为everone可读写,所以纯网页只有这一种方式,还是没用的话就只能进ssh里设置…那就是另一个故事了)
[![](https://am.zdmimg.com/202512/17/69425d6022a276072.png_e1080.jpg)
](https://post.smzdm.com/p/a0vgm420/pic_6/)
喵,就是这样~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
![](https://res.smzdm.com/pc/pc_shequ/dist/img/the-end.png)