有些软件包安装需要以根权限运行的软件,例如sudo包。其他的,如vim,本质上不需要使用根权限运行。
是否有一种通用的方法,通过查看SRPM源中的specfile、config文件或其他文件,来判断软件包是否将以根权限或setuid方式运行,而不首先在系统上实际安装二进制rpm包?
发布于 2020-08-02 01:05:06
在SRC.RPM中找不到文件的方法,因为%build和%install部分中的脚本以及%file部分中的标记都会做一些难以检测到的事情。唯一的方法是构建二进制包,然后:
rpmdev-extract $PACKAGE.rpm
cd $PACKAGE
find . -perm /4000
find . -perm /2000
第一个find
查找SUID文件,第二个SGID文件。
要做到非常正确,您应该检查rpm -qp --scripts $PACKAGE.rpm
的输出,因为邪恶包也可以将chmod
隐藏在那里。
https://unix.stackexchange.com/questions/602268
复制相似问题