रूपांतरण का उपयोग करके .png से .pdf के बैच रूपांतरण के साथ परेशानी


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

त्रुटि संदेश देता है:

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

किसी भी सहायता की सराहना की जाएगी!

जवाबों:


155

convertग्राफिक्स कन्वर्ट करने के लिए एक शक्तिशाली कमांड लाइन उपकरण है। कथित तौर पर, यह सुरक्षा जोखिम प्रदान करता है, खासकर जहां यह एक वेब सर्वर के साथ संयोजन में उपयोग किया जाता है। उबंटू के हाल के संस्करणों में, एक नीति फ़ाइल लागू की जाती है, जहां कुछ उपयोग convertप्रतिबंधित हैं। जाहिर है, डिफ़ॉल्ट रूप से वह फाइल एक पीडीएफ फाइल में कई ग्राफिक फाइलों को "परिवर्तित" करने से रोकती है।

नीति फ़ाइल है /etc/ImageMagick-6/policy.xml। नीतियों को बदलने के लिए आप उस फ़ाइल को रूट उपयोगकर्ता के रूप में संपादित कर सकते हैं।

सभी उपयोग प्रतिबंधों को समाप्त करना

डेस्कटॉप उपयोगकर्ताओं के लिए एक वेबसर्वर नहीं चल रहा है, बस इन प्रतिबंधों को समाप्त करना काफी अच्छा हो सकता है। उस उद्देश्य के लिए, कोई फ़ाइल को हटा सकता है, लेकिन इसका नाम बदलकर "फ़ाइल को बाहर ले जाना" बेहतर है। इस आदेश के साथ, आप फ़ाइल का नाम बदल रहे हैं। परिणामस्वरूप, सभी नीतियों को हटा दिया जाता है, लेकिन आप अभी भी जरूरत पड़ने पर वापस लौट सकते हैं:

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

मूल स्थिति में वापस लौटने के लिए, बस मूल नाम पर वापस जाएं:

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

पीडीएफ में गठबंधन करने के लिए केवल प्रतिबंध को खत्म करना

अपने विशिष्ट मामले के लिए, एक टिप्पणी में gen_wood ने सकारात्मकता के साथ पीडीएफ को एक लाइन में टिप्पणी करके पीडीएफ फाइलों के साथ काम करने के लिए नीति को आराम करने के लिए इंगित किया:

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

इस नियम को अक्षम करने के लिए फ़ाइल को संपादित करें, और इस पंक्ति के चारों ओर टिप्पणी चिह्न लगाएं:

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

यदि आप सभी सुरक्षा नीतियों को समाप्त नहीं करना चाहते हैं, तो यह जाने का तरीका है।

अस्वीकरण: आपको चेतावनी दी गई है कि इस नीति फ़ाइल को हटाने से कुछ सुरक्षा नीतियाँ हटा दी जाती हैं।


धन्यवाद vanadium, मैंने सुझाव के रूप में फ़ाइल का नाम बदला और इसने एक इलाज का काम किया।
बिल-लैंकेस्टर

4
मैं policy.xmlफ़ाइल में गया और वह लाइन मिली, जो मुझे pngफ़ाइलों को pdfs में संयोजित करने से रोक रही थी और टिप्पणी की। <policy domain="coder" rights="none" pattern="PDF" />यदि आप अन्य नियमों को अक्षुण्ण रखना चाहते हैं लेकिन pdfएस के साथ काम करने की अनुमति है तो वह लाइन थी ।
जीन_वुड

1
@gene_wood, धन्यवाद: मैंने पोस्ट में जोड़ा क्योंकि यह उपयोगकर्ताओं को प्रतिबंधों को समाप्त करने में अधिक सावधानी बरतने के लिए अधिक अंतर्दृष्टि और विकल्प प्रदान करता है।
वैनेडियम

2
ठीक है, यह उबंटू 18.04 में इमेजमाजिक 8: 6.9.7.4 + dfsg-16ubuntu6.4 के साथ काम करता है। धन्यवाद।
गप्पेटेव्स डी'कोन्स्टोनजो

दूसरी विधि मेरे लिए काम की है, लेकिन पहली नहीं है।
द लेडिज

35

जैसा कि वैनेडियम पोस्ट किया गया है , आपको इमेजमैजिक पॉलिसी को बदलना होगा।

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

और लाइन की जगह

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

साथ में

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

यदि आप केवल लिखने की अनुमति देना चाहते हैं, और पढ़ना नहीं चाहते हैं, तो आप read|ऊपर की पंक्ति में भाग को मिटा भी सकते हैं ।


BTW, जो ImageMagick भेद्यता के बारे में रुचि रखते हैं, उनके लिए यहां 2 सूचनात्मक लिंक दिए गए हैं:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.