Я использую 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 (сделав так, чтобы пароль вам не понадобился), работает, так что, возможно, вы можете попробовать, но у меня это не сработало. У кого-нибудь есть предложения получше?
Да, у меня работает,
попробуйте отредактировать файл с помощью команды visudo и убедитесь, что вы правильно ввели имя пользователя, но я не уверен, что это решение защищено, если вы забудете закрыть терминал, любой, кто использует ваш ноутбук, будет использовать команду sudo без пароля для залить любую программу.
Я пытаюсь найти способ ввести пароль, но он не работает.
Это также сработало для меня, используйте свое настоящее имя пользователя, а не username
Здесь та же проблема. Хотя у меня есть разрешения sudo на удаленном компьютере, на котором запущен докер, почему-то кажется неправильным возиться с удаленной конфигурацией sudoers для создания локальной конфигурации докер-машины.
Похожая проблема. При сборке для aws пользователь ssh докер-машины по умолчанию - _ubuntu_. Я пытаюсь создать другого пользователя sudo (что-то более дружелюбное, например _demouser_) или переименовать пользователя _ubuntu_ после завершения создания удаленной виртуальной машины.
В обоих случаях вы можете использовать (или создать скрипт) аналогичные инструкции из https://askubuntu.com/questions/34074/how-do-i-change-my-username. В двух словах:
Оба шага имеют одну и ту же проблему: новый пользователь или _измененный_ пользователь "ubuntu" требует, чтобы вы указали пароль для работы sudo. Если вы не отредактируете файл sudoers для настройки опции nopasswd. Есть некий секретный соус с исходным пользователем "ubuntu" (по умолчанию), который позволяет использовать sudo без пароля, несмотря на отсутствие дополнительных настроек в sudoers.
Самый полезный комментарий
У меня точно такая же проблема. Для некоторых людей, которые перейдут в / etc / sudoers (sudoers - это файл) и добавят имя пользователя ALL = (ALL) NOPASSWD: ALL (сделав так, чтобы пароль вам не понадобился), работает, так что, возможно, вы можете попробовать, но у меня это не сработало. У кого-нибудь есть предложения получше?