unoconv não pode se conectar ou iniciar o ouvinte sem sudo

2

Estou trabalhando em um site para a escola no servidor da escola. Meu site usa unoconv. Foi trabalhando até hoje por algum motivo. Basicamente, o que está acontecendo é que, se eu executar este comando no console:

 unoconv powerpoint.pptx

isso me dá esse erro      Erro: Não é possível conectar-se ou iniciar o próprio ouvinte. Abortando.

no entanto trabalha com:

 sudo unoconv powerpoint.pptx

O unoconv é 777 e a propriedade é www-data: www-data, mas também não funciona no site.

 pgrep  -l 'office|writer|calc'

não mostra nada para entrar em conflito e:      unoconv - listener & amp; não resolve o problema

O que mais devo fazer para investigar?

    
por Erik Stagg 15.12.2014 / 23:52

2 respostas

2

@Erik Stagg, eu sei que é tarde, mas na verdade usar unoconv com outro usuário, você pode deixar uma porta aberta com o sudo em outro processo:

$ sudo unoconv --listener

Enquanto isso, esse processo está em execução, você pode usar unoconv com um usuário normal:

$ unoconv -f docx file.doc
    
por Kopz Kyoto 24.06.2015 / 05:56
1

Acabei de ter o mesmo problema e achei este link muito útil:

  

link

Em poucas palavras, abra o arquivo /etc/sudoers em seu editor favorito e encontre esta linha:

root    ALL=(ALL) ALL

Adicione uma nova linha abaixo dela:

root    ALL=(ALL) ALL
user.name    ALL=NOPASSWD: /path_to_your_program_bin_file

Então, para executar o unoconv a partir do apache, você precisa de algo assim:

root    ALL=(ALL) ALL
apache  ALL=NOPASSWD: /usr/bin/unoconv

Se é uma boa idéia ter o usuário do apache no arquivo sudoers é uma outra pergunta, mas também não esqueça que o privilégio do sudo é limitado apenas ao programa específico em questão. O Apache não pode executar nada com o sudo: somente o programa unoconv.

    
por Joel Coehoorn 25.07.2016 / 23:30