Amazon Linux 将用户添加到组

Amazon Linux 将用户添加到组

我正在使用 Amazon Linux AMI 映像进行开发。我想将默认用户“ec2-user”添加到组“docker”中,如下所示:

sudo groupadd docker
sudo gpasswd -a ec2-user docker

当我以用户身份登录ec2-user并运行时groups ec2-user,它显示:

ec2-user : ec2-user wheel docker

这似乎表明“ec2-user”已添加到组“docker”。但是,如果我运行不带任何参数的命令(这应该与因为我以 身份登录时groups相同),它会显示:groups ec2-userec2-user

ec2-user wheel

它告诉我 ec2-user 尚未加入“docker”组(实际上它没有被添加到这个组,因为当我尝试访问属于“docker”组的某些文件时报告了权限错误)。

如果我尝试以这种方式将“ec2-user”添加到组中,则不会发生这种情况:

sudo gpasswd -a ${USER} docker

我发现我可以将其他用户名(如“harry”)添加到如下所示的组中,没有任何问题:

sudo gpasswd -a harry docker

我的问题是导致此行为的原因是什么?将此特定用户名“ec2-user”添加到组时似乎存在问题,但我不知道为什么会发生这种情况。任何帮助都非常感谢。谢谢。

答案1

当前 shell 是在你将自己添加到组之前初始化的,因此它无法反映你后来对组成员身份的更改。你可以

exec sg docker

用一个新的 shell 替换当前的 shell,该 shell 明确切换到您自己添加的组,或者只是注销并重新登录。

相关内容