在 Oracle® Solaris 11.2 中确保文件的安全和确认文件完整性

退出打印视图

更新时间: 2014 年 7 月
 
 

如何查找具有特殊文件权限的文件

此过程查找可能未经授权在程序中使用 setuidsetgid 权限的情况。可疑可执行文件为用户而不是 rootbin 授予所有权。

开始之前

您必须成为 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  1. 使用 find 命令查找具有 setuid 权限的文件。
    # find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
    find directory

    检查以指定的 directory(可以是根目录 (/)、/usr/opt 等)开头的所有挂载路径。

    –user root

    仅显示由 root 拥有的文件。

    –perm –4000

    仅显示权限设置为 4000 的文件。

    –exec ls –ldb

    ls -ldb 格式显示 find 命令的输出。请参见 ls(1) 手册页。

    /tmp/filename

    包含 find 命令的结果的文件。

    有关更多信息,请参见find(1)

  2. /tmp/filename 中显示结果。
    # more /tmp/filename

    有关背景信息,请参见setuid 权限

示例 1-6  查找具有 setuid 权限的文件

以下示例的输出显示,名为 rar 的组中的用户创建了一份 /usr/bin/rlogin 的个人副本,并将权限设置为 rootsetuid。因此,/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