Estou usando o MacOSX Captain como sistema operacional host
Eu criei um contêiner de imagens do Ubuntu
O bash do contêiner é executado com o usuário root por padrão
Eu instalei o sudo através do apt-get
então eu criei um usuário não privilegiado chamado test-user
Eu executo o bash com o usuário de teste
docker exec -i -t -u bash de id de contêiner de usuário de teste
quando tento usar sudo apt-get install
Recebo este erro sudo: nenhum tty presente e nenhum programa askpass especificado
Estou tentando fazer isso porque li que não devo usar o usuário root ou administrador para executar qualquer programa porque será um problema de segurança.
Eu tenho o mesmo problema. Para algumas pessoas, ir para / etc / sudoers (sudoers é um arquivo) e adicionar o nome de usuário ALL = (ALL) NOPASSWD: ALL (fazendo com que você não precise da senha) funciona, então talvez você possa experimentar, mas não funcionou para mim. Alguém mais tem sugestões melhores?
Sim, funciona para mim,
tente editar o arquivo usando o comando visudo e certifique-se de ter inserido o nome de usuário corretamente, mas não tenho certeza de que esta solução seja segura, se você esquecer de fechar o terminal, qualquer pessoa que usar seu laptop usará o comando sudo sem uma senha para injetar qualquer programa.
Estou tentando encontrar uma maneira de inserir a senha, mas não está funcionando.
Isso também funcionou para mim, use seu nome de usuário real e não username
Mesmo problema aqui. Embora eu tenha permissões sudo na máquina remota que executa o docker, de alguma forma parece errado mexer com a configuração dos sudoers remotos para criar uma configuração local da máquina docker.
Problema semelhante. Ao compilar para o aws, o usuário ssh padrão da docker-machine é _ubuntu_. Estou tentando criar um usuário sudo diferente (algo mais amigável como _demouser_) ou renomear o usuário _ubuntu_ depois de terminar de criar a VM remota.
Em ambos os casos, você pode usar (ou script) instruções semelhantes em https://askubuntu.com/questions/34074/how-do-i-change-my-username. Resumindo:
Ambas as etapas têm o mesmo problema, o novo usuário ou o usuário _changed_ "ubuntu" requer que você especifique uma senha para que o sudo funcione. A menos que você edite o arquivo sudoers para configurar a opção nopasswd. Existe algum molho secreto com o usuário original "ubuntu" (padrão) que permite um sudo sem senha apesar de nenhuma configuração extra no sudoers.
Comentários muito úteis
Eu tenho o mesmo problema. Para algumas pessoas, ir para / etc / sudoers (sudoers é um arquivo) e adicionar o nome de usuário ALL = (ALL) NOPASSWD: ALL (fazendo com que você não precise da senha) funciona, então talvez você possa experimentar, mas não funcionou para mim. Alguém mais tem sugestões melhores?