
Estou usando o Atlassian Bamboo para configurar um servidor de compilação. Ele permite o uso de "imagens elásticas" nas quais posso especificar quais de suas AMIs usar (estou usando a imagem Amazon Linux/CentOS). Também permite adicionar scripts para essencialmente "provisionar" o servidor. Quando executo a compilação usando sudo
meus scripts, recebo erros como este:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Quando não estou usando sudo
, recebo erros de permissão negada.
OroteiroEstou tentando executar é tão simples quanto:
sudo yum install -y php-mysql
sudo yum install -y php-pdo
sudo yum install -y php-pecl-xdebug
sudo yum update
O Bamboo é configurado com uma chave, portanto não deve exigir uma senha real (não há nenhum até onde eu saiba), o que significa que a falta de entrada tty não deveria importar, certo?
Se o servidor fosse ativado constantemente, eu poderia fazer SSH nele e descobrir como ativar os privilégios do sudo, mas não é... ele é criado, a compilação é executada e então termina.
DR;O que pode fazer com que uma AMI apoiada por EBS gerada dinamicamente não seja permitida sudo
?
Responder1
O Bamboo é configurado com uma chave, portanto não deve exigir uma senha real (até onde eu sei, não existe), o que significa que a falta de entrada tty não deve importar, certo?
Não. É aqui que você fica confuso. A forma como você se autenticou no ssh não tem nada a ver com o sudo. Se o sudo estiver configurado para exigir uma senha, você deverá inserir a senha do usuário. Se você não fizer isso, não funcionará. Se o usuário não tiver uma senha, então não funcionará.
Parece que você deveria reconfigurar o sudo para que
- não requer um tty
- não requer senha
Por exemplo, se eu quisesse um usuário chamadobambupoder executar sem senha qualquer comando como qualquer usuário, no meu/etc/sudoersarquivo que eu poderia ter
bamboo ALL=(ALL) NOPASSWD: ALL
Responder2
Como a documentação lhe disse, se as imagens fornecidas pela Atlassian não fizerem o que você deseja, você devecrie uma imagem personalizada.
Responder3
verifique se o arquivo /etc/sudoers está configurado corretamente. Recebi essas mensagens de erro ontem, quando um de nossos scripts de construção substituiu as alterações que fiz no arquivo /etc/sudoers, resultando no problema de permissão.