convert /home/bill/TempScan/*.png myfile.pdf
ให้ข้อความผิดพลาด:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
convert /home/bill/TempScan/*.png myfile.pdf
ให้ข้อความผิดพลาด:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
คำตอบ:
convert
เป็นเครื่องมือบรรทัดคำสั่งที่มีประสิทธิภาพในการแปลงกราฟิก ที่ถูกกล่าวหาว่าให้ความเสี่ยงด้านความปลอดภัยโดยเฉพาะอย่างยิ่งที่จะใช้ร่วมกับเว็บเซิร์ฟเวอร์ ใน Ubuntu รุ่นล่าสุดจะมีการใช้ไฟล์นโยบายซึ่งconvert
มีการ จำกัด การใช้งานบางอย่าง เห็นได้ชัดว่าไฟล์นั้นโดยค่าเริ่มต้นห้าม "แปลง" ไฟล์กราฟิกหลายไฟล์เป็นไฟล์ PDF หนึ่งไฟล์
/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
กำจัดข้อ จำกัด เฉพาะในการรวมเป็น PDF
สำหรับกรณีเฉพาะของคุณ gene_wood ในความคิดเห็นชี้ไปที่ความเป็นไปได้ในการเลือกผ่อนคลายนโยบายสำหรับการทำงานกับไฟล์ PDF โดยแสดงความคิดเห็นหนึ่งบรรทัด:
<policy domain="coder" rights="none" pattern="PDF" />
แก้ไขไฟล์และใส่เครื่องหมายข้อคิดเห็นรอบ ๆ บรรทัดนี้เพื่อปิดการใช้งานกฎนี้:
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
หากคุณไม่ต้องการที่จะกำจัดนโยบายความปลอดภัยทั้งหมดนี้เป็นวิธีที่จะไป
คำเตือน: คุณได้รับการเตือนว่าการลบไฟล์นโยบายนี้จะลบนโยบายความปลอดภัยบางอย่าง
policy.xml
ไฟล์และพบบรรทัดที่ป้องกันไม่ให้ฉันรวมpng
ไฟล์เข้ากับpdf
s และแสดงความคิดเห็น บรรทัดนั้นคือ<policy domain="coder" rights="none" pattern="PDF" />
ถ้าคุณต้องการปล่อยให้กฎอื่น ๆ ยังคงอยู่ แต่อนุญาตให้ทำงานกับpdf
s ได้
เมื่อโพสต์วานาเดียมแล้วคุณต้องเปลี่ยนนโยบาย ImageMagick
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 ลิงก์: