背景
在linux中,关于 SUID 和 SGID 这种特殊权限的使用,是非常谨慎的,稍有不慎,便有可能导致权限泄露。所以在工作中,常常需要对系统进行检测,重点关注除了 Linux 系统以外的带有类似 SUID 和 SGID 这种特殊权限的文件。下面是检测带有 SUID 和 SGID 特殊权限位的脚本,方便各位使用。
点击折叠1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #!/bin/bash
if [ $# -ne 1 ]; then echo "用法: $0 <目录路径>" exit 1 fi
scan_directory="$1"
if [ ! -d "$scan_directory" ]; then echo "目录不存在: $scan_directory" exit 1 fi
output_file="suid_sgid_files.txt" touch "$output_file"
echo "$(date "+%F %H:%M")" >> "$output_file" echo "以下是带有SUID和SGID权限的文件和目录:" >> "$output_file" find "$scan_directory" -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \; >> "$output_file" 2>/dev/null find "$scan_directory" -type d \( -perm -4000 -o -perm -2000 \) -exec ls -ld {} \; >> "$output_file" 2>/dev/null
echo "结果已保存到 $output_file"
|