adduser 和 usermod -G -a 的区别

sno*_*ogg 13 command-line adduser useradd groups

之间有什么区别

adduser user_name group_name 
Run Code Online (Sandbox Code Playgroud)

usermod -G -a user_name group_name 
Run Code Online (Sandbox Code Playgroud)

乍一看,他们似乎在做同样的事情:将用户添加到组中。

Yar*_*ron 8

adduserusermod是两个不同的实用程序,它们的共同点是都可以将用户添加到组中。

根据man adduser

adduseruseraddgroupaddusermod程序这样 的低级工具来说更友好的前端

更多信息:


mur*_*uru 5

乍一看,是的。

乍一看,usermod -G -a user_name group_name不正确。

-G选项后面应跟有组名称。

$ sudo usermod -G -a nogroup muru
[sudo] password for muru:
usermod: group '-a' does not exist
$ sudo usermod -a -G muru nogroup
usermod: user 'nogroup' does not exist
Run Code Online (Sandbox Code Playgroud)

可以-a位于-G组名称之前或之后,但不能位于-G组名称和组名称之间。

作为旁注,adduser它本身使用gpasswd

$ grep gpasswd $(which adduser)
    my $gpasswd = &which('gpasswd');
    &systemcall($gpasswd, '-a',$existing_user,$existing_group);
Run Code Online (Sandbox Code Playgroud)