Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

148
Visualizações
Política de seguridad de ImageMagick 'PDF' que bloquea la conversión

La política de seguridad de Imagemagick parece no permitirme realizar esta conversión de pdf a png. La conversión de otras extensiones parece estar funcionando, pero no desde pdf. No he cambiado ninguna de las configuraciones de imagemagick desde que lo instalé... Estoy usando Arch Linux, si el sistema operativo es importante.

 user@machine $ convert -density 300 -depth 8 -quality 90 input.pdf output.png convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.
over 4 years ago · Santiago Trujillo
13 Respostas
Responde à pergunta

0

Bueno, agregué

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

justo antes de </policymap> en /etc/ImageMagick-7/policy.xml y eso hace que funcione de nuevo, pero no estoy seguro de las implicaciones de seguridad de eso.

over 4 years ago · Santiago Trujillo Relatório

0

Para mí, en mi sistema archlinux, la línea ya no estaba comentada. Tuve que reemplazar "ninguno" por "leer | escribir" para que funcionara.

over 4 years ago · Santiago Trujillo Relatório

0

Como se señaló en algunos comentarios, debe editar las políticas de ImageMagick en /etc/ImageMagick-7/policy.xml . Más particularmente, en ArchLinux al momento de escribir (01/05/2019) la siguiente línea no está comentada:

 <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />

Simplemente envuélvalo entre <!-- y --> para comentarlo, y la conversión de PDF debería funcionar nuevamente.

over 4 years ago · Santiago Trujillo Relatório

0

En Ubuntu 19.10, hice esto en /etc/ImageMagick-6/policy.xml

descomentar esto

 <policy domain="module" rights="read | write" pattern="{PS,PDF,XPS}" />

y comenta esto

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

Después de eso, este comando funciona sin errores.

 convert -thumbnail x300 -background white -alpha remove sample.pdf sample.png
over 4 years ago · Santiago Trujillo Relatório

0

Para mí en Arch Linux, tuve que comentar esto:

 <policy domain="delegate" rights="none" pattern="gs" />
over 4 years ago · Santiago Trujillo Relatório

0

Este problema es una solución para una vulnerabilidad de seguridad. La vulnerabilidad se solucionó en Ghostscript 9.24 ( fuente ), por lo que si tiene esa versión o una más nueva, ya no necesita la solución alternativa.

En Ubuntu 19.10 a 21.04 y probablemente en cualquier versión posterior que venga con ImageMagick 6, así es como soluciona el problema eliminando la solución alternativa:

  1. Asegúrese de tener Ghostscript ≥9.24:

     gs --version
  2. En caso afirmativo, simplemente elimine toda la siguiente sección de /etc/ImageMagick-6/policy.xml :

     <!-- disable ghostscript format types --> <policy domain="coder" rights="none" pattern="PS" /> <policy domain="coder" rights="none" pattern="PS2" /> <policy domain="coder" rights="none" pattern="PS3" /> <policy domain="coder" rights="none" pattern="EPS" /> <policy domain="coder" rights="none" pattern="PDF" /> <policy domain="coder" rights="none" pattern="XPS" />
over 4 years ago · Santiago Trujillo Relatório

0

Como comentario muy activo de @Richard Kiefer, una solución simple es así

 $ sudo sed -i '/disable ghostscript format types/,+6d' /etc/ImageMagick-6/policy.xml
over 4 years ago · Santiago Trujillo Relatório

0

En mi caso estoy usando ubuntu 20.10 y el Imagick-7.

en mi /etc/ImageMagick-6/policy.xml eliminé las siguientes líneas, reinicié mi máquina y listo.

 <policy domain="coder" rights="none" pattern="PS" /> <policy domain="coder" rights="none" pattern="PS2" /> <policy domain="coder" rights="none" pattern="PS3" /> <policy domain="coder" rights="none" pattern="EPS" /> <policy domain="coder" rights="none" pattern="PDF" /> <policy domain="coder" rights="none" pattern="XPS" />
over 4 years ago · Santiago Trujillo Relatório

0

El cambio de ImageMagick se mantuvo después de que se corrigió Ghostscript porque las aplicaciones (especialmente las aplicaciones web) a menudo envían archivos arbitrarios proporcionados por el usuario a ImageMagick, no siempre aplican las restricciones de formato correctamente y, dado que Postscript (que usa PDF) es una programación completa lenguaje que se ejecuta en una caja de arena, siempre existe la posibilidad de otro agujero en la caja de arena.

Es mucho mejor dejar las cosas configuradas para que ImageMagick se niegue a procesar archivos que requieran la ejecución de un programa y, en su lugar, simplemente invoque Ghostscript directamente cuando quiera permitir la renderización de Postscript.

Eso se lograría con un comando de Ghostscript como este:

 gs -dSAFER -r600 -sDEVICE=pngalpha -o foo.png myfile.pdf

Sí, esta es una variación del comando de GhostScript que llama ImageMagic. (ver delegates.xml de ImageMagick. -o es la abreviatura de -dBATCH -dNOPAUSE -sOutputFile= )

Lo importante es que ImageMagick permanece bloqueado, no invocas innecesariamente un programa intermedio y obtienes más control sobre los parámetros de renderizado. (por ejemplo, -r600 es el DPI para renderizar y cambiar -sDEVICE=pngalpha le permite renderizar directamente al formato deseado)

over 4 years ago · Santiago Trujillo Relatório

0

Mánjaro Abril 2021

Simplemente elimine la línea sin comentarios dentro de <policymap> en /etc/ImageMagick-7/policy.xml

over 4 years ago · Santiago Trujillo Relatório

0

Agregando a la respuesta de Stefan Seidel.

Bueno, al menos en Ubuntu 20.04.2 LTS o tal vez en otras versiones, no puedes editar el archivo policy.xml directamente de forma GUI. Aquí hay una forma de terminal para editarlo.

  1. Abra el archivo policy.xml en la terminal ingresando este comando:

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

  2. Ahora, edite directamente el archivo en la terminal, busque <policy domain="coder" rights="none" pattern="PDF" /> y reemplace none con read|write como se muestra en la imagen. Luego presione Ctrl+X para salir.

Editar en la terminal

over 4 years ago · Santiago Trujillo Relatório

0

Funciona en Ubuntu 20.04

Agregue esta línea dentro de <policymap>

 <policy domain="module" rights="read|write" pattern="{PS,PDF,XPS}" />

Comenta estas líneas:

 <!-- <policy domain="coder" rights="none" pattern="PS" /> <policy domain="coder" rights="none" pattern="PS2" /> <policy domain="coder" rights="none" pattern="PS3" /> <policy domain="coder" rights="none" pattern="EPS" /> <policy domain="coder" rights="none" pattern="PDF" /> <policy domain="coder" rights="none" pattern="XPS" /> -->
over 4 years ago · Santiago Trujillo Relatório

0

Estaba experimentando este problema con nextcloud que no podía crear miniaturas para archivos pdf.

Sin embargo, ninguno de los pasos sugeridos resolvería el problema para mí.

Eventualmente encontré la razón: la respuesta aceptada funcionó, pero también tuve que reiniciar php-fpm después de editar el archivo policy.xml:

 sudo systemctl restart php7.2-fpm.service
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda