convert.im6: Não é possível abrir a imagem 'xxx': Permissão negada @ error / blob.c / OpenBlob / 2638

0

Eu apenas tentei converter várias imagens diferentes em um arquivo PDF usando o comando 'convert' em um terminal, mas quando o fiz, ele retornou:

convert.im6: Unable to open image 'xxx.pdf': Permission denied @ error/blob.c/OpenBlob/2638

em que 'xxx.pdf' representa o nome do arquivo PDF de saída. Claro, se eu fizer isso como root - isto é, sudo convert - a operação passa sem problemas. Então, minha pergunta, já que eu sei que alguns de vocês provavelmente dirão que eu sou um idiota por não pensar em fazer o sudo act, é: Por que o comando convert está disponível apenas para root, em vez de usuários comuns? E há alguma maneira de mudar isso?

    
por Brandon Taylor 28.08.2014 / 11:56

1 resposta

3

Sua sugestão está incorreta. O Convert está disponível para todos os usuários.

Se você estiver convertendo em um PDF e estiver vendo Unable to open image 'xxx.pdf' , o programa tentou abrir xxx.pdf para gravação e foi rejeitado pelo Kernel porque o usuário atual pode escreva para esse arquivo. Existem algumas razões:

  • O atual $USER não pode gravar no diretório atual. Tente touch testfile e, se isso falhar, verifique as permissões do diretório com stat . . Para corrigir, vá para um diretório em que você pode escrever, altere as permissões do diretório para permitir que $ USER grave ou altere seu usuário (por exemplo, adicione-o ao grupo correto) para permitir que ele grave. / p>

    Existem várias opções de ACL além disso, mas é provável que você esteja apenas em um diretório controlado por raiz, caso em que vá para outro lugar.

  • Já existe um arquivo chamado xxx.pdf e pertence a outra pessoa, e $USER não tem permissão de gravação para isso. Ou sudo chown $USER: xxx.pdf (o : não é um erro de digitação), apague-o e gere uma nova versão do seu $USER .

Ambos podem ser verdadeiros ao mesmo tempo.

    
por Oli 28.08.2014 / 12:42