![无法使用标准用户让容器挂载卷](https://linux22.com/image/226304/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%A0%87%E5%87%86%E7%94%A8%E6%88%B7%E8%AE%A9%E5%AE%B9%E5%99%A8%E6%8C%82%E8%BD%BD%E5%8D%B7.png)
在运行标准用户时,我似乎无法让容器(正在运行podman
)能够写入目录。这个解决方案也没有工作。需要明确的是,我可以从这些目录中读取文件,但我无法写入或创建它们。
z
,Z
在音量上似乎不起作用。我已经使用 chcon 让它与 root 一起工作,但我尝试添加新的策略模块、许可范围、许可模式等。
我认为这是某种权限错误。容器中的文件夹(至少在天真的情况下)似乎由“组”拥有root
并具有“组”,nogroup
我不知道这是否是标准的。
我已经尝试chown
过(比如这里)容器用户 id 和/或组 id 的目录(在这种情况下,它可以由nobody
和拥有nogroup
(不起作用)。我还使用主机用户+组 id 登录到容器(它在bash 终端) - 也没有什么区别,这些与chown
ing 文件夹到不同的用户/组,例如主机用户/组,容器用户/组,根用户/组(有点模糊的容器/主机根)等。 。
以下是ls -lnZ
一些测试文件中容器内外的一些示例输出(请注意,我更改了用户 ID,65534
除了显然这是为 保留的特殊 ID nobody
。的 ID主机用户是9876
和 id容器用户是1234
。我检查过id -u
以确保实际的用户 ID 与这些相对应。小注意事项,在这种情况下,主机组 id 是不同的,所以可以说5432
,而容器用户的组 id 是1234
测试5:
- 容器:
drwxr-xr-x. 2 0 65534 system_u:object_r:container_file_t:s0 4096 Nov 7 23:50 test
- 主持人:
drwxr-xr-x. 2 9876 9876 system_u:object_r:container_file_t:s0 4096 Nov 7 18:50 test5
测试4:
- 容器:
drwxr-xr-x. 2 0 65534 system_u:object_r:container_file_t:s0 4096 Nov 8 02:59 test
- 主持人:
drwxr-xr-x. 2 9876 1234 system_u:object_r:container_file_t:s0 4096 Nov 7 21:59 test4
测试3:
- 容器:
drwxr-xr-x. 2 0 65534 system_u:object_r:container_file_t:s0 4096 Nov 7 21:40 test
- 之前主持:
drwxr-xr-x. 2 9876 1234 system_u:object_r:container_file_t:s0:c1022,c1023 4096 Nov 7 16:40 test3
- 主持人之后:
drwxr-xr-x. 2 9876 1234 system_u:object_r:container_file_t:s0 4096 Nov 7 16:40 test3
如果我修复 test5 的组 id,仍然不起作用:
测试5(再次):
- 容器:
drwxr-xr-x. 2 0 0 system_u:object_r:container_file_t:s0 4096 Nov 7 23:50 test
- 主持人:
drwxr-xr-x. 2 9876 5432 system_u:object_r:container_file_t:s0 4096 Nov 7 18:50 test5
作为标准用户,我在容器中的已安装卷中写入/创建文件可能会遇到什么问题,以及如何使标准用户在已安装目录中正确创建/写入文件,而无需诉诸非常不安全的解决方案?