변환을 사용하여 .png를 .pdf로 일괄 변환 할 때 문제가 발생 함 메시지를 제공합니다. convert-im6.q16: not authorized

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

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

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


답변

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