在之前的文章中,我讨论了用于向 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 命令。 如果您有任何问题或建议,请在评论中告诉我。