此过程查找可能未经授权在程序中使用 setuid 和 setgid 权限的情况。可疑可执行文件为用户而不是 root 或 bin 授予所有权。
开始之前
您必须成为 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
# find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename检查以指定的 directory(可以是根目录 (/)、/usr、/opt 等)开头的所有挂载路径。
仅显示由 root 拥有的文件。
仅显示权限设置为 4000 的文件。
以 ls -ldb 格式显示 find 命令的输出。请参见 ls(1) 手册页。
包含 find 命令的结果的文件。
有关更多信息,请参见find(1)。
# more /tmp/filename
有关背景信息,请参见setuid 权限。
以下示例的输出显示,名为 rar 的组中的用户创建了一份 /usr/bin/rlogin 的个人副本,并将权限设置为 root 的 setuid。因此,/usr/rar/bin/rlogin 程序将使用 root 权限运行。
在调查了 /usr/rar 目录并删除了 /usr/rar/bin/rlogin 命令之后,管理员将来自 find 命令的输出归档。
# find /usr -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm
# cat /var/tmp/ckprm
-rwsr-xr-x 1 root sys 28000 Jul 14 14:14 /usr/bin/atq
-rwsr-xr-x 1 root sys 32364 Jul 14 14:14 /usr/bin/atrm
-r-sr-xr-x 1 root sys 41432 Jul 14 14:14 /usr/bin/chkey
-rwsr-xr-x 1 root bin 82804 Jul 14 14:14 /usr/bin/cdrw
-r-sr-xr-x 1 root bin 8008 Jul 14 14:14 /usr/bin/mailq
-r-sr-sr-x 1 root sys 45348 Jul 14 14:14 /usr/bin/passwd
-rwsr-xr-x 1 root bin 37724 Jul 14 14:14 /usr/bin/pfedit
-r-sr-xr-x 1 root bin 51440 Jul 14 14:14 /usr/bin/rcp
---s--x--- 1 root rar 41592 Jul 24 16:14 /usr/rar/bin/rlogin
-r-s--x--x 1 root bin 166908 Jul 14 14:14 /usr/bin/sudo
-r-sr-xr-x 4 root bin 24024 Jul 14 14:14 /usr/bin/uptime
-r-sr-xr-x 1 root bin 79488 Jul 14 14:14 /usr/bin/xlock
# mv /var/tmp/ckprm /var/share/sysreports/ckprm