Probleme bei der Stapelkonvertierung von .png in .pdf mit convert


112
convert /home/bill/TempScan/*.png  myfile.pdf

gibt eine Fehlermeldung aus:

convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.

Jede Hilfe wäre dankbar!

Antworten:


156

convertist ein leistungsstarkes Befehlszeilenprogramm zum Konvertieren von Grafiken. Angeblich birgt dies Sicherheitsrisiken, insbesondere wenn es in Verbindung mit einem Webserver verwendet wird. In neueren Versionen von Ubuntu ist eine Richtliniendatei implementiert, in der bestimmte Verwendungszwecke converteingeschränkt sind. Anscheinend verbietet diese Datei standardmäßig das "Konvertieren" mehrerer Grafikdateien in eine PDF-Datei.

Die Richtliniendatei lautet /etc/ImageMagick-6/policy.xml. Sie können diese Datei als Root-Benutzer bearbeiten, um die Richtlinien zu ändern.

Beseitigung aller Nutzungsbeschränkungen

Für Desktop-Benutzer, die keinen Webserver betreiben, ist es möglicherweise ausreichend, diese Einschränkungen zu beseitigen. Zu diesem Zweck kann man die Datei löschen, aber es ist besser, die Datei durch Umbenennen "herauszuschieben". Mit diesem Befehl benennen Sie die Datei um. Infolgedessen werden alle Richtlinien aufgehoben, Sie können sie jedoch bei Bedarf wiederherstellen:

sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout

Um zur ursprünglichen Situation zurückzukehren, benennen Sie einfach wieder in den ursprünglichen Namen um:

sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml

Beseitigen Sie nur die Einschränkung, um in PDF zu kombinieren

Für Ihren speziellen Fall wies gene_wood in einem Kommentar auf die Möglichkeit hin, die Richtlinie für die Arbeit mit PDF-Dateien selektiv zu lockern, indem Sie eine Zeile auskommentieren:

<policy domain="coder" rights="none" pattern="PDF" />

Bearbeiten Sie die Datei und setzen Sie Kommentarzeichen um diese Zeile, um diese Regel zu deaktivieren:

<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->

Wenn Sie nicht alle Sicherheitsrichtlinien entfernen möchten, ist dies der richtige Weg.

Haftungsausschluss: Sie wurden gewarnt, dass durch das Entfernen dieser Richtliniendatei bestimmte Sicherheitsrichtlinien entfernt werden.


Dank Vanadium habe ich die Datei wie vorgeschlagen umbenannt und es hat wunderbar geklappt.
Bill-Lancaster

4
Ich ging in die policy.xmlDatei und fand die Zeile, die mich daran hinderte, pngDateien zu pdfs zu kombinieren , und kommentierte sie aus. Diese Zeile war, <policy domain="coder" rights="none" pattern="PDF" />wenn Sie die anderen Regeln intakt lassen möchten, aber die Arbeit mit pdfs zulassen möchten.
gene_wood

1
@gene_wood, danke: Ich habe den Beitrag erweitert, da er mehr Einblicke und Optionen für Benutzer bietet, die beim Beseitigen von Einschränkungen vorsichtiger vorgehen möchten.
Vanadium

2
Ok, das funktioniert in Ubuntu 18.04 mit imagemagick 8: 6.9.7.4 + dfsg-16ubuntu6.4. Danke.
Geppettvs D'Constanzo

Die zweite Methode hat bei mir funktioniert, die erste jedoch nicht.
The Ledge

35

Als Vanadium gebucht , müssen Sie die ImageMagick-Richtlinie ändern.

sudo vim /etc/ImageMagick-6/policy.xml

und tauschen Sie die Leitung aus

<policy domain="coder" rights="none" pattern="PDF" />

mit

<policy domain="coder" rights="read|write" pattern="PDF" />

Wenn Sie nur das Schreiben und nicht das Lesen zulassen möchten, können Sie auch den read|Teil in der obigen Zeile löschen .


Übrigens, für diejenigen, die an der ImageMagick-Sicherheitsanfälligkeit interessiert sind, gibt es hier zwei Informationslinks:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.