有些软件包安装的软件需要以 root 权限运行,例如 sudo 软件包。其他的,例如 vim,本质上不需要以 root 权限运行。
是否有一种通用方法可以通过查看 SRPM 源中的规范文件、配置文件或其他文件来判断软件包是否将安装以 root 权限运行或 setuid 的软件,而不先在系统上实际安装二进制 rpm 包?
答案1
无法找到 SRC.RPM 中的文件。因为 %build 和 %install 部分中的脚本以及 %files 部分中的标签可以做无数难以检测的事情。唯一的方法是构建二进制包,然后:
rpmdev-extract $PACKAGE.rpm
cd $PACKAGE
find . -perm /4000
find . -perm /2000
第一个find
查找 SUID 文件,第二个查找 SGID 文件。
为了保持高度正确,您应该检查 的输出,rpm -qp --scripts $PACKAGE.rpm
因为邪恶的打包程序也可以隐藏chmod
在那里。