sudo: não tty presente e nenhum programa askpass especificado

1

Eu tenho um script perl que eu garfo de outro script que eu inicio de um navegador da web via mod_perl. O script bifurcado (que acaba sendo executado como apache) precisa de sudo service X stop como parte de um processo de restauração de backup: o serviço X depende da restauração. Eu tive este correndo OK no Windows, mas agora portando para o CentOS estou correndo para o erro no título.

Configuração:

  1. o arquivo sudoers comentou # Defaults requiretty
  2. O arquivo
  3. sudoers tem apache_usr localhost=(root) NOPASSWD: /sbin/service X stop (que passa em visudo -c check) e não tem outras apache_usr lines

Coisas que eu tentei:

  1. sudo /sbin/service em vez de apenas sudo service no processo bifurcado
  2. arquivo sudoers com ou sem comentários em Defaults !visiblepw
  3. arquivo sudoers com (ALL) em vez de (root) na linha NOPASSWD acima

O que mais há para tentar?

    
por Kev 31.10.2013 / 21:50

3 respostas

5

Em suma, é como o sudo foi projetado. Veja aqui .

Ele faz pesquisas de host de maneira um pouco diferente para não atrasar quando você não tem uma conexão de rede / servidor DNS rápido.

Se o nome da sua máquina for 'salt', sua linha apropriada de sudoers é:

apache_usr salt=(root) NOPASSWD: /sbin/service X stop

Em outras palavras, localhost não é um nome de host válido no que se refere a sudoers.

    
por 31.10.2013 / 22:17
1

Você mencionou que "o arquivo sudoers comentou # Defaults requiretty ".

Isso não terá nenhum efeito se sua versão do sudo tiver requiretty ativado por padrão, o que o meu faz. Use uma especificação padrão segmentada para o usuário em questão:

Defaults:apache_usr !requiretty
    
por 20.03.2014 / 12:25
0

Quando escrevo ALL=(root) , funciona. Apesar do fato de que o script está sendo executado no mesmo servidor que o serviço que estou tentando parar. Ele é acessado no navegador por meio de um IP diferente do principal, mas, mesmo assim, se eu executar ping -c 1 localhost , obtenho 127.0.0.1 , por isso estou realmente curioso para saber por que essa alteração precisou ser feita.

    
por 31.10.2013 / 22:02

Tags