我使用 MacOSX Captain 作为主机操作系统
我已经从 Ubuntu 图像创建了一个容器
容器 bash 默认以 root 用户运行
我已经通过 apt-get 安装了 sudo
然后我创建了名为 test-user 的非特权用户
我用 test-user 运行 bash
docker exec -i -t -u test-user 容器 ID bash
当我尝试使用 sudo apt-get install
我收到此错误 sudo: no tty present and no askpass program specified
我正在尝试这样做,因为我读到我不应该使用 root 或 admin 用户来运行任何程序,因为这将是一个安全问题。
我也有同样的问题。 对于某些人去 /etc/sudoers(sudoers 是一个文件)并添加用户名 ALL=(ALL) NOPASSWD: ALL(使它不需要密码)有效,所以也许你可以尝试一下,但是它对我不起作用。 其他人有更好的建议吗?
是的,它对我有用,
尝试使用 visudo 命令编辑文件并确保您输入的用户名正确无误,但我不确定此解决方案是否安全,如果您忘记关闭终端,任何使用笔记本电脑的人都会使用 sudo 命令而无需密码注入任何程序。
我试图找到一种输入密码的方法,但它不起作用。
这也适用于我,使用您的实际用户名而不是username
同样的问题在这里。 尽管我在运行 docker 的远程机器上拥有 sudo 权限,但在某种程度上弄乱远程 sudoers 配置以创建本地 docker-machine 配置似乎是错误的。
类似的问题。 为 aws 构建时,默认的 docker-machine ssh 用户是 _ubuntu_。 我正在尝试创建一个不同的 sudo 用户(像 _demouser_ 这样更友好的用户)或在我完成创建远程 VM 后重命名 _ubuntu_ 用户。
在这两种情况下,您都可以使用(或编写脚本)来自https://askubuntu.com/questions/34074/how-do-i-change-my-username 的类似说明
两个步骤都有相同的问题,新用户或_changed_ "ubuntu" 用户需要您指定密码才能使 sudo 工作。 除非您编辑 sudoers 文件以设置 nopasswd 选项。 原始“ubuntu”(默认)用户有一些秘密武器,尽管在 sudoers 中没有额外配置,但它允许无密码 sudo。
最有用的评论
我也有同样的问题。 对于某些人去 /etc/sudoers(sudoers 是一个文件)并添加用户名 ALL=(ALL) NOPASSWD: ALL(使它不需要密码)有效,所以也许你可以尝试一下,但是它对我不起作用。 其他人有更好的建议吗?