Open sxyzy1016 opened 11 months ago
config
目录下会存在其他的二级目录,也有可能出现权限不匹配的问题,所以目前不会选择更改
而且我记得这个可以通过更改nfs的设置来解决
config
目录下会存在其他的二级目录,也有可能出现权限不匹配的问题,所以目前不会选择更改而且我记得这个可以通过更改nfs的设置来解决
@DDSDerek 实际测试, 我在群晖中设置 NFS Server 将所有用户映射为 root 用户(放开权限)时, 容器依旧提示没有权限使用 /config 文件夹, 同台机器中的其他容器不存在此问题.
以下是容器运行时的日志
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service init-010-update: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
[INFO] 更新主程序...
From https://github.com/hsuyelin/nas-tools
* branch master -> FETCH_HEAD
HEAD is now at 30e0e24 build(docker): 修改beta打包 workflow
[INFO] 主程序更新成功
s6-rc: info: service init-010-update successfully started
s6-rc: info: service init-020-fixuser: starting
[INFO] 以PUID=1026,PGID=100的身份启动程序...
chown: /config: Operation not permitted
chown: /config: Operation not permitted
s6-rc: warning: unable to start service init-020-fixuser: command exited 1
群晖 NFS 共享设置
确认
当前程序版本
3.3.13
问题类型
Docker或运行环境问题
问题描述
docker镜像中
/etc/s6-overlay/s6-rc.d/init-020-fixuser/run
文件最后修改权限:有可能会导致
chown: Operation not permitted
报错产生过程如下: 1、我的docker宿主机用户
user
(uid=1026,gid=100,与群晖一致)home家目录是通过nfs4挂载的群晖共享目录,并且user
具有完全控制权限,但是root
用户(uid=gid=0)在群晖nfs权限中被映射为guest
(安全起见); 2、此时user
在home家目录(即群晖共享目录)创建nastools-config
目录:/home/user/nastools-config
,并通过chown
设置权限归属为user:users(即uid=1026,gid=100),通过-v /config:/home/user/nastools-config
挂载给nastools容器; 3、此时若设置-e PUID=1026 -e PGID=100
启动容器实际上nastools程序本身已经可以正常访问/config
目录读写配置文件了,但是s6-init会以root身份运行上面的/etc/s6-overlay/s6-rc.d/init-020-fixuser/run
文件来修改/config
的权限,从而因为nfs权限映射导致一系列类似如下报错:从而导致docker启动失败(特别是其中存在旧版本nastools配置文件时)
因此可否考虑在对
/config
目录进行chown
之前加上该目录的权限判断(如权限符合PUID
PGID
就不用chown
了)?谢谢!发生问题时系统日志和配置文件
No response