./xxx: error while loading shared libraries: libxxx.so: cannot open
shared object file: No such file or directory unknown signal exit,
core will not be generated for signal value 127 and pid
常见的解决方法常常关注于libxxx.so的状态、权限和所处的位置,忽略了 ./xxx可执行文件本身的状态、权限。
仅仅记录一下,因为这个问题查了很久才解决。

把权限改为 rwx 即可。
顺带涨姿势了,补充几种权限的解释。
1.SetUID权限(针对所属主设置s权限,数字表示为4)
SetUID:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。前提是这个文件是可执行文件,可就是具有x权限(属组必须先设置相应的x权限)。chmod命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)
(1)设置权限的方法:
chmod u+s xxx
chmod 4777 xxx
解释:我们利用umask知道权限的设置是四位数,后三位是ugo对应的属性,首位就是特殊位权限的表示,SetUID的权限位是4,因此可

本文讲述了如何快速定位并解决‘./xxx: error while loading shared libraries: libxxx.so: cannot open shared object file: No such file or directory’问题,重点在于检查可执行文件权限和lib文件位置,尤其是SetUID、SetGID权限和文件粘着位的应用。
最低0.47元/天 解锁文章
920

被折叠的 条评论
为什么被折叠?



