ubuntu docker中的root密码是有效的,但在前置sudo时说它是错误的[关闭]

wgeznvg7  于 2023-05-16  发布在  Docker
关注(0)|答案(2)|浏览(184)

**关闭。**这个问题是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.
mrzz3bfm

mrzz3bfm1#

当你使用su - root时,你必须把root密码。因为这是根用户的登录过程。
但是当你使用sudo时,请确保输入myuser密码,而不是root密码。因为尽管sudo su将您登录到root用户。它使用myuser权限来执行此操作。

wz3gfoph

wz3gfoph2#

正如其他人所指出的,这不是你输入的root密码,而是你当前用户的密码。还需要将用户添加到sudo组RUN adduser myuser sudo,并且已修复。

相关问题