convert /home/bill/TempScan/*.png myfile.pdf
wyświetla komunikat o błędzie:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
Każda pomoc będzie mile widziana!
convert /home/bill/TempScan/*.png myfile.pdf
wyświetla komunikat o błędzie:
convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.
Każda pomoc będzie mile widziana!
Odpowiedzi:
convert
to potężne narzędzie wiersza polecenia do konwersji grafiki. Podobno zapewnia to zagrożenia dla bezpieczeństwa, zwłaszcza gdy jest używane w połączeniu z serwerem WWW. W najnowszych wersjach Ubuntu zaimplementowano plik zasad, w którym niektóre zastosowania convert
są ograniczone. Najwyraźniej plik ten domyślnie zabrania „konwertowania” wielu plików graficznych do jednego pliku PDF.
Plik zasad to /etc/ImageMagick-6/policy.xml
. Możesz edytować ten plik jako użytkownik root, aby zmienić zasady.
Eliminując wszystkie ograniczenia użytkowania
W przypadku użytkowników komputerów stacjonarnych nie korzystających z serwera WWW wystarczy po prostu wyeliminowanie tych ograniczeń. W tym celu można usunąć plik, ale lepiej jest „przenieść plik”, zmieniając jego nazwę. Za pomocą tego polecenia zmieniasz nazwę pliku. W rezultacie wszystkie zasady zostały zniesione, ale nadal możesz cofnąć w razie potrzeby:
sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout
Aby przywrócić pierwotną sytuację, po prostu zmień nazwę z powrotem na pierwotną nazwę:
sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml
Eliminując jedynie ograniczenie do łączenia w PDF
W konkretnym przypadku gen_wood w komentarzu wskazał na możliwość selektywnego złagodzenia zasad pracy z plikami PDF, komentując jedną linię:
<policy domain="coder" rights="none" pattern="PDF" />
Edytuj plik i umieść znaki komentarza wokół tego wiersza, aby wyłączyć tę regułę:
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
Jeśli nie chcesz wyeliminować wszystkich zasad bezpieczeństwa, to jest to, co należy zrobić.
Oświadczenie: zostałeś ostrzeżony, że usunięcie tego pliku zasad usuwa niektóre zasady bezpieczeństwa.
policy.xml
pliku i znalazłem linię, która uniemożliwiała mi łączenie png
plików w pdf
si, i skomentowałem. Ta linia miała miejsce, <policy domain="coder" rights="none" pattern="PDF" />
jeśli chcesz pozostawić pozostałe zasady bez zmian, ale zezwalać na pracę z pdf
s.
Jak napisano wanadu , musisz zmienić zasady ImageMagick.
sudo vim /etc/ImageMagick-6/policy.xml
i zamień linię
<policy domain="coder" rights="none" pattern="PDF" />
z
<policy domain="coder" rights="read|write" pattern="PDF" />
Jeśli chcesz zezwolić tylko na zapis, a nie na odczyt, możesz również usunąć read|
część z powyższego wiersza.
BTW, dla osób zainteresowanych luką w ImageMagick, oto 2 linki informacyjne: