【发布时间】:2021-10-21 20:22:00
【问题描述】:
编辑:我发现了问题 我使用的是用户/组 1000:1000,但在将正确的用户添加到正确的组后,它需要是 1:1。多么n00b。希望其他人能找到这个,它可以节省他们在解决错误问题时失去的时间lol
出于开发目的,我在 Lightsail 实例上运行了 Docker(因此我可以使用 pdf2htmlEX)。使用这个一切正常:
exec('docker run --rm -v ' . $fileLoc . ':/pdf -u 1000:1000 bwits/pdf2htmlex pdf2htmlEX --embed cfijo --split-pages 1 --zoom 1 --dest-dir presentations/' . $presName . ' --page-filename content-%d.page temp_pdf/' . $filename . ' 2>&1', $output, $retVal);
注意:我必须告诉 Docker 是用户 1000:1000,以便它可以创建文件夹和文件。
问题是,文件夹$presName 最终的 chmod 为 700,它必须是 755,而所有文件都很棒,有一个可爱的 644。我这辈子都无法获得这些更新权限。 .
我已经尝试了所有我能想到/在互联网上找到的命令:
exec('docker run --rm -u 1000:1000 chmod 755 ' . $fileLoc . '/presentations/' . $presName);
exec('sudo chmod 755 ' . $fileLoc . '/presentations/' . $presName);
exec('echo my-password-was-here | /usr/bin/sudo -S chmod 755 ' . $fileLoc . '/presentations/' . $presName);
exec("bash -lc 'echo my-password-was-here | /usr/bin/sudo -S chmod 755 ' . $fileLoc . '/presentations/' . $presName'");
这些都不做任何事情。
“没问题!”我想,大声地,我将使用 PHP 来创建具有正确权限的文件夹,因此它已经存在......但是很遗憾,PHP 甚至不能使用 mkdir。
我对此没有深入了解,因为我从未使用过 Docker,而且,尽我所能,某种容器,某种用户。 ¯\(ツ)/¯
我已经花了好几天的时间来反对这个。我只是(大声笑“只是”)希望文件夹是 755!这就是我所需要的......
有简单的解决方案吗?有什么我可以在终端输入的吗?我可以修改 Docker 配置来解决这个问题吗?或者这会非常复杂,我必须消化所有 Docker 文档并成为专家?
[编辑:我用这个 https://hub.docker.com/r/bwits/pdf2htmlex/]
【问题讨论】:
标签: docker permissions chmod amazon-lightsail