当我在服务器上加载特定版本的Python时,我会得到以下错误:
python:加载共享库时出错: libpython2.7.so.1.0:无法打开共享对象文件:没有这样的文件或目录
ldd显示文件是可用的,唯一令人惊讶的是它的权限,如下所示:
-rwxrwsr-x
从S看来,我得出的结论是,可能是偶然的,setgid被传唤到了档案中。但我也是拥有这个文件的组织的一员。在这种情况下,即使非组成员不能运行,我难道不能让Python运行吗?
Python是由一个环境模块加载的,它执行以下操作:
prepend-path PATH /path/to/python/2.7.9/bin
prepend-path MANPATH /path/to/python/2.7.9/share/man
prepend-path PYTHONPATH /path/to/python/2.7.9/lib/python2.7/site-packages:/path/to/spss/22/Python/lib/python2.7/site-packages
prepend-path LD_LIBRARY_PATH /path/to/python/2.7.9/lib
发布于 2015-12-17 05:33:05
在移除S的许可后,我能够正确地加载这个库。我们最后注意到的不同之处在于,能够加载库的用户实际上将gid设置为与库的gid相同的值。仅仅作为获得库权限的组的成员是不够的--用户必须将其设置为他们的主要组。
https://unix.stackexchange.com/questions/249741
复制