我如何知道 SRPM 包是否含有需要以 root 身份运行的组件?

我如何知道 SRPM 包是否含有需要以 root 身份运行的组件?

有些软件包安装的软件需要以 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在那里。

相关内容