网站搜索

如何在 Linux 中查找具有 SUID 和 SGID 权限的文件


在本教程中,我们将解释辅助文件权限,在 Linux 中通常称为“特殊权限”,并且我们还将向您展示如何查找具有 SUID 的文件( Setuid) 和 SGID (Setgid) 设置。

SUID 和 SGID 是什么?

SUID是可执行文件的特殊文件权限,它使其他用户能够以文件所有者的有效权限运行该文件。您将看到用户的特殊权限 s(表示 SUID),而不是代表执行权限的普通 x

SGID 是一种特殊的文件权限,也适用于可执行文件,使其他用户能够继承文件组所有者的有效GID。同样,您将看到组用户的s(表示SGID)特殊权限,而不是通常的代表执行权限的x

建议阅读: 在 Linux 中管理用户和组、文件权限和属性

让我们看看如何使用 find 命令查找设置了 SUIDSGID 的文件。

语法如下:

find directory -perm /permissions

重要:某些目录(例如/etc/bin/sbin > 等)或文件需要 root 权限才能访问或列出,如果您以普通用户身份管理系统,请使用 sudo 命令来获取 root 权限。

如何在 Linux 中查找设置了 SUID 的文件

下面的示例命令将使用 -perm(仅打印权限设置为 4000 的文件)选项查找当前目录中设置了 SUID 的所有文件。

find . -perm /4000 

您可以使用带有 -l 选项(用于长列表)的 ls 命令来查看列出的文件的权限,如上图所示。

如何在 Linux 中查找设置了 SGID 的文件

要查找设置了 SGID 的文件,请键入以下命令。

find . -perm /2000

要查找同时设置了 SUIDSGID 的文件,请运行以下命令。

find . -perm /6000

您可能还想阅读以下有关 Linux 中文件权限的有用指南:

  1. 如何在Linux中设置文件属性和查找文件
  2. 在 Linux 中将 rwx 权限转换为八进制格式
  3. 在 Linux 中使用 ACL(访问控制列表)保护文件/目录的安全
  4. 在 Linux 中使重要文件不可变(不可更改)的 5 个“chattr”命令

现在就是这样!在本指南中,我们向您展示了如何查找在 Linux 中设置了 SUID (Setuid) 和 SGID (Setgid) 的文件。如果您有任何疑问,请使用下面的反馈表分享有关此主题的任何疑问或其他想法。