PDFTK:以 root 用户身份合并文件

PDFTK:以 root 用户身份合并文件

我有一个使用 PDFTK 的网站。

我的网站允许用户通过表单发送 PDF 文件,然后单击按钮即可组合所有文件来创建一个 PDF 文件。

发送我的文件时,我的 apache 用户被分配了。

只是当我运行命令行时,它不起作用。如果我将所有文件传递到用户和组根中,命令行就会传递。只是我必须手动执行操作才能使我的网站正常运行。

这是我的命令,出现错误:

$ /snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
Error: Unable to find file.
Error: Failed to open PDF file:
   upload/418/2018/fichier1.pdf
Errors encountered.  No output created.
Done.  Input errors, so no output created.

这是一条很好的命令,但是chown

chown -R root:root upload/418/2018
/snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask

这可能是什么问题?

答案1

该命令按照您的需要运行:

chown -R root:root upload/418/2018
/snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask

由一个变更目录 (类似于cd /var/www/html/) 所主导。

这个没有这样做:

$ /snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
Error: Unable to find file.
Error: Failed to open PDF file:
   upload/418/2018/fichier1.pdf
Errors encountered.  No output created.
Done.  Input errors, so no output created.

... 因此将尝试从您放置的目录中开始执行它。upload/通知没有抱怨权限,所以我认为这不是问题。它说的是“找不到文件”,所以我相信您的第二个命令没有在正确的目录中执行。如果是权限问题:将用户 apache 添加到拥有的组,pdftk或者,如果该组由 root 拥有,则将其组更改为新组并将 apache 添加到其中。

如果是目录问题,最简单的解决方法是使用绝对路径而不是相对路径。或者cd /var/www/html &&在命令前面添加一个,将替换/var/www/html为所需的内容。

相关内容