convert /home/bill/TempScan/*.png myfile.pdf
выдает сообщение об ошибке:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
Любая помощь будет оценена!
convert /home/bill/TempScan/*.png myfile.pdf
выдает сообщение об ошибке:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
Любая помощь будет оценена!
Ответы:
convert
это мощный инструмент командной строки для преобразования графики. Предположительно, это создает риски для безопасности, особенно если оно используется совместно с веб-сервером. В последних версиях Ubuntu реализован файл политики, где convert
ограничено его использование. По-видимому, этот файл по умолчанию запрещает «преобразовывать» несколько графических файлов в один файл PDF.
Файл политики есть /etc/ImageMagick-6/policy.xml
. Вы можете редактировать этот файл как пользователь root для изменения политик.
Устранение всех ограничений использования
Для пользователей настольных компьютеров, не использующих веб-сервер, достаточно просто снять эти ограничения. Для этого можно удалить файл, но лучше переместить файл, переименовав его. С помощью этой команды вы переименовываете файл. В результате все политики отменяются, но вы все равно можете вернуться, если необходимо:
sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout
Чтобы вернуться к исходной ситуации, просто переименуйте обратно в исходное имя:
sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml
Устранение только ограничения на объединение в PDF
Для вашего конкретного случая gene_wood в комментарии указал на возможность выборочно ослабить политику для работы с файлами PDF, закомментировав одну строку:
<policy domain="coder" rights="none" pattern="PDF" />
Отредактируйте файл и поместите комментарии в этой строке, чтобы отключить это правило:
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
Если вы не хотите отменять все политики безопасности, это путь.
Отказ от ответственности: вы были предупреждены, что удаление этого файла политики удаляет определенные политики безопасности.
policy.xml
файл и нашел строку, которая мешала мне объединять png
файлы в pdf
s, и закомментировал ее. Эта строка была, <policy domain="coder" rights="none" pattern="PDF" />
если вы хотите оставить другие правила без изменений, но разрешите работать с pdf
s.
Как пишет vanadium , вы должны изменить политику ImageMagick.
sudo vim /etc/ImageMagick-6/policy.xml
и заменить линию
<policy domain="coder" rights="none" pattern="PDF" />
с участием
<policy domain="coder" rights="read|write" pattern="PDF" />
Если вы хотите разрешить только запись, а не чтение, вы также можете стереть read|
часть в строке выше.
Кстати, для тех, кто интересуется уязвимостью ImageMagick, вот две информационные ссылки: