I use LD_LIBRARY_PATH
为应用程序设置某个用户库的路径。但是如果我在此应用程序上设置功能
sudo setcap CAP_NET_BIND_SERVICE=eip myapplication
then LD_LIBRARY_PATH
似乎被忽略了。当我启动该程序时,Linux 抱怨它找不到某个共享库。
我猜想有某种保护措施正在发挥作用,以防止具有扩展权限的应用程序被劫持。有解决方法吗?
正如其他答案中已经指出的,这种行为是有意的。如果您可以自己编译(或至少链接)应用程序,则有某种解决方法。然后你就可以通过-Wl,-rpath <yourDynamicLibraryPath>
到海湾合作委员会或-rpath <yourDynamicLibraryPath>
到 ld 并且你不必指定LD_LIBRARY_PATH
完全取决于执行力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)