欢迎 on it road

查找设置了 SUID/SGID 位的文件

我们可以使用 find 命令找到所有具有 SUID SGID 权限的文件。

  1. 要在 root 下查找所有具有 SUID 权限的文件:
# find / -perm +4000
  1. 要在 root 下查找所有具有 SGID 权限的文件:
# find / -perm +2000
  1. 我们也可以将两个 find 命令组合在一个 find 命令中:
# find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

删除 SUID/SGID

如果要删除文件的 SGID 和 SUID 权限,可以按照以下步骤操作。
获得文件列表后,我们可以使用 chmod 命令删除安全位:
对于 SUID :

# chmod u-s file_name

对于 SGID :

# chmod g-s file_name

要递归执行此操作,我们可以执行以下命令:

# for i in `find / -perm +4000`
do
	chmod u-s $i
done

同样,我们也可以更改 sgid 文件。

# for i in `find / -perm +2000`
do
	chmod g-s $i
done

注意:它将删除文件的所有 suid。
所以在执行 for 循环之前要小心。

Linux/UNIX 如何查找设置了 SUID/SGID 的文件

特殊权限 - SUID/SGID

可以对可执行文件设置两种特殊权限:设置用户 ID (setuid) 和设置组 ID (sgid)。
这些权限允许使用所有者或者组的权限执行正在执行的文件。
例如,如果文件由 root 用户拥有并设置了 setuid 位,则无论谁执行该文件,它都将始终以 root 用户权限运行。

日期:2020-09-17 00:13:38 来源:oir作者:oir