Dönüştürme kullanarak .png .pdf dosyasının toplu dönüştürülmesiyle ilgili sorun


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

hata mesajı veriyor:

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

Herhangi bir yardım takdir edilecektir!

Yanıtlar:


156

convertgrafik dönüştürmek için güçlü bir komut satırı aracıdır. İddiaya göre, özellikle bir web sunucusu ile birlikte kullanıldığı durumlarda güvenlik riskleri sağlıyor. Ubuntu'nun son sürümlerinde, belirli kullanımlarının convertkısıtlandığı bir politika dosyası uygulanır . Görünüşe göre, bu dosya varsayılan olarak birden fazla grafik dosyasını bir PDF dosyasına "dönüştürmeyi" yasaklıyor.

Politika dosyası /etc/ImageMagick-6/policy.xml. Politikaları değiştirmek için bu dosyayı kök kullanıcı olarak düzenleyebilirsiniz.

Tüm kullanım kısıtlamalarını ortadan kaldırmak

Bir web sunucusu çalıştırmayan masaüstü kullanıcıları için, bu kısıtlamaların kaldırılması yeterli olabilir. Bu amaçla, kişi dosyayı silebilir, ancak yeniden adlandırmak suretiyle "dosyayı dışarı taşımak" daha iyi bir uygulamadır. Bu komutla dosyayı yeniden adlandırıyorsunuz. Sonuç olarak, tüm politikalar kaldırılır, ancak gerekirse gerekirse geri dönebilirsiniz:

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

Orijinal duruma geri dönmek için, yalnızca orijinal ismine geri dönün:

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

Yalnızca PDF'de birleştirme kısıtlamasını ortadan kaldırmak

Özel durumunuz için, bir yorumda gene_wood, bir satır yorum yaparak PDF dosyalarıyla çalışma politikasını seçici olarak gevşetme olasılığına işaret etti:

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

Dosyayı düzenleyin ve bu kuralı devre dışı bırakmak için bu satırın çevresine yorum işaretleri koyun:

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

Tüm güvenlik politikalarını ortadan kaldırmak istemiyorsanız, yol budur.

Feragatname: Bu politika dosyasını kaldırmanın bazı güvenlik politikalarını kaldırdığı konusunda uyarıldığınızdan emin olun.


Vanadyum sayesinde dosyayı önerildiği gibi yeniden adlandırdım ve bir işleme koydu.
bill-lancaster

4
policy.xmlDosyaya girdim ve pngdosyaları birleştirmemi engelleyen satırı buldum pdfve yorumladım. Bu <policy domain="coder" rights="none" pattern="PDF" />kural, diğer kuralları eksiksiz bırakmak, ancak pdfs ile çalışmanıza izin vermek istemenizdi .
gene_wood

1
@gene_wood, teşekkür ederim: Ben yazıya ekledim, çünkü kısıtlamaları ortadan kaldırmak konusunda daha dikkatli olmak isteyen kullanıcılar için daha fazla fikir ve seçenekler sunuyor.
vanadyum

2
Tamam, bu Ubuntu 18.04'te 8: 6.9.7.4 + dfsg-16ubuntu6.4 imagemagick ile çalışıyor. Teşekkür ederim.
Geppettvs D'Constanzo

İkinci yöntem benim için çalıştı, ama ilk olmadı.
Çıkıntı

35

Gibi vanadyum yayınlanmıştır , ImageMagick politikasını değiştirmek zorunda.

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

ve çizgiyi değiştir

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

ile

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

Yalnızca yazmaya izin vermek ve okumak istemiyorsanız, read|yukarıdaki satırdaki kısmı da silebilirsiniz .


BTW, ImageMagick güvenlik açığı ile ilgilenenler için, 2 bilgi bağlantısı:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.