convert /home/bill/TempScan/*.png myfile.pdf
エラーメッセージが表示されます。
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
助けていただければ幸いです!
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" /> -->
すべてのセキュリティポリシーを削除したくない場合は、これが方法です。
免責事項:このポリシーファイルを削除すると特定のセキュリティポリシーが削除されるという警告が表示されました。
バナジウム投稿 のように、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つの情報リンクがあります。