使用 groupdel 命令在 Linux 中删除组

在之前的文章中,我讨论了用于向 Linux 系统添加新组的 groupadd 命令。

在本文中,我将讨论另一个组管理命令,即 groupdel。 它用于从系统中删除组。

在 Linux 中使用 groupdel 命令

群德尔 command 可能是 Linux 中最简单的命令,几乎没有选项(除了一个用于 chroot)。

您所要做的就是指定组名。 当然,该组必须存在。

sudo groupdel group_name

你注意到我用了 sudo 使用 groupdel 命令? 这是因为它是一个管理命令,你需要是 root 或 sudo 用户运行此命令。

你如何获得组名? 您可以列出用户的组或通过查看文件 /etc/group 的内容来手动检查系统中存在的所有组。

请记住:您不能在不删除用户的情况下删除用户的主要组

如果您尝试删除现有用户的主要组,您应该会看到如下错误:

groupdel:无法删除用户“abhishek”的主要组

这是设计使然。 您不能删除现有用户的主要组。 您在这里有两个选择:

  • 使用 usermod 命令更改用户的主要组
  • 使用 userdel 命令删除用户,然后删除组

请记住:属于已删除组的文件不会更改组所有权

groupdel 命令不会更改任何文件的组所有权。 它只是从系统中删除组名。 如果您列出已删除组拥有的文件,您将看到组 ID (GID) 而不是组名。

我希望您了解 Linux 中的文件权限和所有权概念。 如下所示,该文件属于 tesla 组:

[email protected]:~$ ls -l a.txt 
-rw-r--r-- 1 abhishek tesla 57 Feb 24 15:57 a.txt

删除组后,文件会显示组 ID(998 在 example) 而不是组名:

[email protected]:~$ sudo groupdel tesla
[email protected]:~$ ls -l new.txt 
-rw-r--r-- 1 abhishek 998 1717 Feb 24 15:58 new.txt

那你怎么处理这些文件呢? 这真的取决于你。 您可以保留它,或者使用 find、xargs 和 chgrp 命令的组合来更改属于已删除组的 GID 的文件组,如下所示:

find . -gid 998 | xargs chgrp another_group_name

由于我们谈论的是文件权限和所有权,您可能想了解可以详细显示这些信息的 stat 命令。

我希望本教程能让您更好地了解 Linux 中的 groupdel 命令。 如果您有任何问题或建议,请在评论中告诉我。