我想在porg发行版中使用LFS。与checkinstall类似,它使用LD_PRELOAD
。
1 。如果您阅读README:
CheckInstall当前无法跟踪任何文件系统更改 通过静态链接程序
我认为它指的是诸如mkdir
,mv
,ln
等命令。因此,我对此不会有任何问题。我说的对吗?
2 。然后,主要问题是:
关于SUID / SGID程序的注意事项:CheckInstall无法跟踪其操作 由于LD_PRELOAD系统中的某些限制, installwatch的用途。出于安全原因,这很好,但是可以 在安装过程中使用时产生意外结果 SUID / SGID二进制文件。
是什么意思?我不在乎是否丢失了某些文件。我很在意是否会出现意外结果,或者我无法正确安装该软件包。
还有多少个包裹有此问题?
答案 0 :(得分:1)
如果系统上的coreutils(mkdir
,mv
等)是静态链接的(即在它们上运行file
报告为“静态链接”){{1 }}将无法追踪其操作,因此某些已安装的文件可能会无法追踪。静态链接的可执行文件是Linux中的二等公民,porg
不支持它们。
Setuid可执行文件在使用之前确实对LD_PRELOAD
进行了清理-它们忽略名称中带有斜杠的所有文件(以便只能加载来自标准系统路径的文件),并且还要求共享库本身具有setuid位组。因此,在您的情况下,您需要找到LD_PRELOAD
的预加载库并在其上设置setuid位(通过porg
)。顺便说一句,请chmod a+s libxyz.so
作者在其发行版中进行此更改可能很有意义。我认为这不会在典型的程序包中引起任何问题,因为安装程序通常不需要运行setuid程序(例如porg
,mount
,passwd
)。