如何在 bash 中将所有组添加到不同的用户?

如何在 bash 中将所有组添加到不同的用户?

我有一个名为 的用户foo。我希望foo拥有与我相同的所有群组成员资格。我以为我已经很接近了:

sudo usermod -a -G $(id -Gn | tr " " ",") node4

管道id工作tr正常,产生类似的输出abc,def,ghi,jkl。我发现的文档说将用户添加到多个组的方法是usermod -a -G ftp,admins,othergroup <username>

当我id运行后为新用户运行时sudo usermod,该用户只是一个组的成员,但id -Gnfor me 返回大约 10 个组。

sudo 命令是不是让我犯了错误?

编辑:这里的问题似乎是这些组实际上并不在 /etc/group 中,它们是以某种方式从 Active Directory 填充的。

答案1

你所拥有的在我的系统上有效。

    user:~$ groups test;
    test : test
    user:~$ groups
    user adm cdrom sudo dip www-data plugdev lpadmin sambashare davfs2 wireshark
    user:~$ sudo usermod -a -G $(id -Gn | tr " " ",") test
    user:~$ groups test
    test : test adm cdrom sudo dip www-data plugdev lpadmin user sambashare davfs2 wireshark

相关内容