변환을 사용하여 .png를 .pdf로 일괄 변환 할 때 문제가 발생 함


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

오류 메시지를 제공합니다.

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

도움을 주시면 감사하겠습니다!

답변:


156

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" /> -->

모든 보안 정책을 제거하지 않으려면이 방법을 사용하십시오.

면책 조항 :이 정책 파일을 제거하면 특정 보안 정책이 제거된다는 경고가 표시됩니다.


바나듐 덕분에 제안한대로 파일 이름을 바꾸고 대접을했습니다.
bill-lancaster

4
나는 파일에 들어가서 파일을 s 로 policy.xml결합하는 것을 방해하는 줄을 발견 하고 주석을 달았습니다. 다른 규칙은 그대로 유지하고 s 작업을 허용하려는 경우이 줄을 사용했습니다 . pngpdf<policy domain="coder" rights="none" pattern="PDF" />pdf
gene_wood

1
@gene_wood, 감사합니다 : 게시물을 추가하여 제한 사항을 제거하는 데 더주의를 기울이려는 사용자에게 더 많은 통찰력과 옵션을 제공합니다.
바나듐

2
좋아, 이것은 imagemagick 8 : 6.9.7.4 + dfsg-16ubuntu6.4와 함께 Ubuntu 18.04에서 작동합니다. 감사합니다.
Geppettvs D' Constanzo

두 번째 방법은 저에게 효과적이지만 첫 번째 방법은 그렇지 않았습니다.
4

35

으로 바나듐 게시 , 당신은 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 취약점에 관심이있는 사용자를위한 정보 링크는 다음과 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.