何时使用 gpasswd 与 usermod/deluser?

何时使用 gpasswd 与 usermod/deluser?

关于用户和组管理,我在许多教程中发现了:

  • gpasswd- 添加或删除组内的用户
  • usermod/ deluser-添加,修改和删除组内的用户

不太清楚的是——什么时候gpasswd是强制性的usermoddeluser反之亦然?

答案1

deluser是一个从系统中删除整个用户的命令,而不是从组中删除用户的命令。

没有moduser命令,你可能指的是usermod

使用usermodgpasswd您都可以将用户添加到组或从组中删除用户。它们是实现相同目的的两种不同方法。

但是,您无法更改用户的基本的gpasswd。这只能用来完成usermodgpasswd只管理所谓的补充组。您可以使用以下命令查看用户的主要组和附加组:id -a username。示例输出:

uid=1000(raj) gid=1000(raj) groups=1000(raj),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare)

列出的组gid=是用户的主要组。groups=列出用户所属的所有组(主要组在第一个,然后是补充组)。

这些命令中的每一个还可以执行一些操作(与组成员身份不直接相关)。usermod您可以使用修改用户的其他属性(例如用户的默认 shell 或主目录),gpasswd您可以使用设置组密码,允许不是允许群组成员如果知道密码则可以临时加入群组。

答案2

这绝不是强制性的。

与许多工具一样,不同的 Linux 系统合并了许多命令,因此我们有重复的方法来执行相同的操作。还有一个delgroup,并且那个执行一个deluser --group

deluser是 Debian 工具包的一部分,来自adduserUbuntu 继承的软件包,它只能删除带有选项的组--group。其他 Linux 没有这个功能,这些功能与 有关useradd

向后兼容性是一个原因,另一个原因是让大量 Unix 用户开始使用 Linux,而无需学习新命令。或者,由于 Linux 是开放的,有人添加了 Unix 中使用的功能。

答案3

您提到的命令适用于不同的情况。您可以根据要完成的任务来使用它们。

gpasswd命令用于管理 /etc/group, 和 /etc/gshadow

同时deluser

消除一名用户或者来自系统的组

至于usermod(不是moduser):

调整用户帐户

答案4

  • gpasswd, groupmod:群组管理员,仅限管理群组

  • usermod:root用户,该命令具有更高级的授权,如更改组和用户属性

  • adduser,,,,,:所有这些都只能由root用户访问deluser,而不能由组管理员访问addgroup,因为他可能没有这样的授权delgroupusermod

相关内容