Machine: sudo: нет tty и не указана программа askpass

Созданный на 29 июн. 2016  ·  5Комментарии  ·  Источник: docker/machine

Я использую MacOSX Captain в качестве основной операционной системы
Я создал контейнер из образов Ubuntu
По умолчанию контейнер bash запускается с пользователем root.

Я установил sudo через apt-get
затем я создал непривилегированного пользователя с именем test-user

Я запускаю bash с тестовым пользователем
docker exec -i -t -u идентификатор контейнера тестового пользователя bash

когда я пытаюсь использовать sudo apt-get install
Я получаю эту ошибку sudo: нет tty и не указана программа askpass

Я пытаюсь это сделать, потому что прочитал, что мне не следует использовать пользователя root или admin для запуска какой-либо программы, потому что это будет проблемой безопасности.

Самый полезный комментарий

У меня точно такая же проблема. Для некоторых людей, которые перейдут в / etc / sudoers (sudoers - это файл) и добавят имя пользователя ALL = (ALL) NOPASSWD: ALL (сделав так, чтобы пароль вам не понадобился), работает, так что, возможно, вы можете попробовать, но у меня это не сработало. У кого-нибудь есть предложения получше?

Все 5 Комментарий

У меня точно такая же проблема. Для некоторых людей, которые перейдут в / etc / sudoers (sudoers - это файл) и добавят имя пользователя ALL = (ALL) NOPASSWD: ALL (сделав так, чтобы пароль вам не понадобился), работает, так что, возможно, вы можете попробовать, но у меня это не сработало. У кого-нибудь есть предложения получше?

Да, у меня работает,
попробуйте отредактировать файл с помощью команды visudo и убедитесь, что вы правильно ввели имя пользователя, но я не уверен, что это решение защищено, если вы забудете закрыть терминал, любой, кто использует ваш ноутбук, будет использовать команду sudo без пароля для залить любую программу.

Я пытаюсь найти способ ввести пароль, но он не работает.

Это также сработало для меня, используйте свое настоящее имя пользователя, а не username

Здесь та же проблема. Хотя у меня есть разрешения sudo на удаленном компьютере, на котором запущен докер, почему-то кажется неправильным возиться с удаленной конфигурацией sudoers для создания локальной конфигурации докер-машины.

Похожая проблема. При сборке для aws пользователь ssh докер-машины по умолчанию - _ubuntu_. Я пытаюсь создать другого пользователя sudo (что-то более дружелюбное, например _demouser_) или переименовать пользователя _ubuntu_ после завершения создания удаленной виртуальной машины.

В обоих случаях вы можете использовать (или создать скрипт) аналогичные инструкции из https://askubuntu.com/questions/34074/how-do-i-change-my-username. В двух словах:

  • Добавить нового или временного пользователя sudo
  • По желанию:

    • Войдите в систему как новый / временный пользователь и измените имя / домашний каталог пользователя _ubuntu_

Оба шага имеют одну и ту же проблему: новый пользователь или _измененный_ пользователь "ubuntu" требует, чтобы вы указали пароль для работы sudo. Если вы не отредактируете файл sudoers для настройки опции nopasswd. Есть некий секретный соус с исходным пользователем "ubuntu" (по умолчанию), который позволяет использовать sudo без пароля, несмотря на отсутствие дополнительных настроек в sudoers.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги