**关闭。**这个问题是not about programming or software development。目前不接受答复。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
4天前关闭。
Improve this question
在我的ubuntu docker容器中,如果我运行su - root
并输入我的密码,我会以root身份成功登录,但如果我运行sudo apt install <package>
示例的命令,它会告诉我我的密码无效。我正在使用docker-compose,在我的Dockerfile文件中,我有RUN echo 'root:mypassword' | chpasswd
,另一件值得指出的事情是,sudo没有预装在ubuntu映像中,我必须将其安装在Dockerfile中。在我的docker-compose.yml中,我有一个自定义用户集user: myuser
。
我的问题是,为什么我的密码在执行su - root
时有效,而不是像sudo apt install <package>
那样前置sudo,我该如何解决这个问题?
我尝试了adduser root sudo
(作为root),但它不起作用。另外,我知道我可以以root身份登录docker,但我希望能够以普通用户身份登录并根据需要使用sudo
。给予一个问题的例子:
myuser@d8b8e2c9c5dd:~/store$ su - root
Password:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
root@d8b8e2c9c5dd:~# exit
logout
myuser@d8b8e2c9c5dd:~/store$ sudo su
[sudo] password for myuser: // same password used here but it says it's incorrect
Sorry, try again.
2条答案
按热度按时间mrzz3bfm1#
当你使用
su - root
时,你必须把root密码。因为这是根用户的登录过程。但是当你使用
sudo
时,请确保输入myuser
密码,而不是root
密码。因为尽管sudo su
将您登录到root
用户。它使用myuser
权限来执行此操作。wz3gfoph2#
正如其他人所指出的,这不是你输入的root密码,而是你当前用户的密码。还需要将用户添加到sudo组
RUN adduser myuser sudo
,并且已修复。