Usermod -aG vs gpasswd -a作为最佳实践

我知道,usermod -g不是最好的做法,但是他们通常会解释usermod不应该被使用,因为它改变了用户的主要组。 这些post似乎没有考虑到只附加组的-aG开关。

这仍然是不好的做法,或使用gpasswd -a没有什么不同吗?

他们都可以做同样的事情,只是在用户模式下,如果你没有给予足够的重视,你可以做错。

在Arch Linux的这个wiki中 ( 对于其他发行版来说也是一样的 ),解释如下:

要将用户添加到其他组,使用(additional_groups是逗号分隔的列表):

 # usermod -aG additional_groups username 

警告: 如果在上面的usermod命令中省略了-a选项,那么用户将从所有未在additional_groups中列出的组中被移除 (即,用户将只是在additional_groups中列出的组的成员)。

或者,可以使用gpasswd 。 虽然用户名一次只能从一个组添加(或删除)。

 # gpasswd --add username group