convertを使用した.pngから.pdfへのバッチ変換の問題


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

エラーメッセージが表示されます:

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

助けていただければ幸いです!

回答:


156

convertグラフィックを変換するための強力なコマンドラインツールです。伝えられるところでは、特にWebサーバーと組み合わせて使用​​される場合、セキュリティリスクが発生します。Ubuntuの最近のバージョンでは、特定の用途convertが制限されているポリシーファイルが実装されています。どうやら、そのファイルはデフォルトで複数のグラフィックファイルを1つのPDFファイルに「変換」することを禁止しています。

ポリシーファイルは/etc/ImageMagick-6/policy.xmlです。そのファイルをrootユーザーとして編集して、ポリシーを変更できます。

すべての使用制限を取り除く

Webサーバーを実行していないデスクトップユーザーの場合、これらの制限を単に除去するだけで十分です。その目的のために、ファイルを削除することもできますが、名前を変更して「ファイルを移動」することをお勧めします。このコマンドを使用すると、ファイルの名前を変更できます。その結果、すべてのポリシーが解除されますが、必要に応じて元に戻すことができます。

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は、1行コメントアウトすることにより、PDFファイルを操作するポリシーを選択的に緩和する可能性を指摘しました。

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

ファイルを編集し、この行をコメントマークで囲んでこのルールを無効にします。

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

すべてのセキュリティポリシーを削除したくない場合は、これが方法です。

免責事項:このポリシーファイルを削除すると特定のセキュリティポリシーが削除されるという警告が表示されました。


バナジウムのおかげで、提案されたとおりにファイルの名前を変更しました。
ビルランカスター

4
私が入ったpolicy.xmlファイルと組み合わせることから私を防止してライン見つかっpngにファイルをpdfSにし、それをコメントアウト。その行は<policy domain="coder" rights="none" pattern="PDF" />、他のルールをそのままにして、pdfs での作業を許可したい場合です。
gene_wood

1
@gene_wood、ありがとう:投稿を追加したのは、制限を排除する際により慎重になりたいユーザーに、より多くの洞察とオプションを提供するからです。
バナジウム

2
わかりました、これはimagemagick 8:6.9.7.4 + dfsg-16ubuntu6.4を使用してUbuntu 18.04で動作します。ありがとうございました。
Geppettvs D'Constanzo

2番目の方法はうまくいきましたが、最初の方法はうまくいきませんでした。
レッジ

35

バナジウムが掲示、あなたは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の脆弱性に興味がある人のために、2つの情報リンクがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.