14.04,setcap cap_sys_ptrace=eip 后 LD_LIBRARY_PATH 失败?

14.04,setcap cap_sys_ptrace=eip 后 LD_LIBRARY_PATH 失败?

wine notepad将不会运行,除非我这样做:

sudo setcap cap_sys_ptrace=eip "`which wineserver`"
sudo setcap cap_sys_ptrace=eip "`which wine-preloader`"

之后我收到这个错误:

/home/myUser/wine1.7.19/usr/bin/wine:加载共享库时出错:libwine.so.1:无法打开共享对象文件:没有此文件或目录

$ ldd $(which wine)

    linux-gate.so.1 =>  (0xf772b000)
    libwine.so.1 => /home/myUser/wine1.7.19/usr/bin/../lib/i386-linux-gnu/libwine.so.1 (0xf7550000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7530000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7528000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7378000)
    /lib/ld-linux.so.2 (0xf7708000)

它发现libwine.so.1因为LD_LIBRARY_PATH设置正确,除非设置了功能,否则仍然会找到该库!但我收到了错误消息......

有这个回答,但我不想使用,ldconfig因为我的 wine 版本在用户主目录中,并且被 chown 给普通用户。

我也不想用 来设置整个系统/proc/sys/kernel/yama/ptrace_scope

LD_LIBRARY_PATH有没有什么解决方法?如果可能的话,我也想知道失败的原因

答案1

答案实际上是我认为我会被迫做的(使用ldconfig),但我认为这样要好得多:

将所有单独的 wine 版本安装在您理解可以的地方chown root:root;您可能更喜欢使用/opt/Wine?我只是把它们都放在了/Wine(只要确保它的所有文件夹树,从父级到 ./Wine 都是root:root

然后你只需chown root:root按照回答(修改 ptrace_scope 并在最后使用 ldconfig)说明,它将正常工作,我知道它将保持安全

相关内容