Estou tentando integrar melhor o Eclipse com meu build.xml. Meu arquivo de compilation chama o GNU Make para a parte nativa do programa, e o Makefile usa o sudo para mover as bibliotecas compiladas para o caminho do sistema. Infelizmente, isso requer a inserção de uma senha e o terminal do Eclipse não aceita input do usuário. Portanto, o resultado da execução da construção no eclipse é:
[exec] sudo: no tty present and no askpass program specified [exec] make: *** [install] Error 1
Qualquer maneira de contornar este problema? A construção de formigas pode ser elevada para se enraizar de outra maneira?
Configure uma conta separada, por exemplo, implantador . Modifique o /etc/sudoers
para include aliases que permitam ao implementador executar um único comando, por exemplo, implantar , como root. Faça o deployer NOEXEC:
Armazene a senha do implementador em um arquivo invisível, por exemplo, .deployconf com access somente para usuário: por exemplo, 400
ou 600
. Carregue a senha em ant
e use conforme necessário:
Isso funciona bem com
Você poderia configurar seu arquivo / etc / sudoers para que ele especifique NOPASSWD: para o usuário sob o qual o Eclipse está em execução e para o comando que você está usando para mover as bibliotecas. Usando o comando visudo, você pode adicionar isto ao final do / etc / sudoers:
eclipseuser ALL = NOPASSWD: /bin/cp
Esteja ciente de que isso representa um risco de segurança, já que o eclipseuser teria o poder de sobrescrever qualquer arquivo no sistema.
Talvez uma ‘solução’ estúpida, mas por que não fazer a implantação de um passo separado? Faça a construção criar um artefato de empacotamento: DEP, RPM ou algo assim.