如何解决使用Linux功能时,pyinstall可执行文件将不会以非特权用户身份运行
我已经从releases page下载了borgbackup的二进制版本;这是一个pyinstaller二进制文件。
我已经使用filecap /path/to/borg dac_read_search
向其中添加了capabilities,以便它对整个文件系统具有只读访问权限(比对root用户具有更好的读写访问权限更好。整个文件系统)。
我已经在4台主机上安装了它。其中3个工作正常。所有的Debian 10(Buster)。
在问题主机上,当我以root身份运行时,例如/path/to/borg -V
,它可以正常工作并显示其版本(1.1.13),但是当我以非特权用户身份运行它时,出现以下错误:
Traceback (most recent call last):
File "borg/archiver.py",line 38,in <module>
File "/home/vagrant/.pyenv/versions/3.5.9/envs/borg-env/lib/python3.5/site-packages/PyInstaller-3.2.1-py3.5.egg/PyInstaller/loader/pyimod03_importers.py",line 389,in load_module
File "borg/helpers.py",line 75,line 573,in load_module
ImportError: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
由于我们现在有libcrypto.so.1.0.0
,现在缺少libcrypto.so.1.1
。但是,为什么要为非root用户寻找不存在的较旧的库,却(以推测方式)以root用户身份运行时找到最新的当前库?
如果我删除该功能,它将运行正常,并返回版本号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。