我正在使用带有挂载选项的 FUSE default_permissions,allow_other,ro,exec
。如果我执行 FUSE 根目录下的二进制文件,它会给出错误
bash: exec format error: binary_name
FUSE 调试日志显示文件被正确读取。
如果没有放入保险丝,我就能执行相同的二进制文件。
所以我认为 arch 是兼容的。
如果我将每个调用都传递给底层文件,我就可以执行具有相同挂载选项的二进制文件,例如这。
所以我认为安装选项也应该没问题。
以下是
findmnt
我的 FUSE 输出的选项:ro,nosuid,nodev,relatime,user_id=771069,group_id=89939,default_permisions,allow_other
以下是二进制文件的权限:
-rwxr-x--- 1 771069 89939 5.8M Nov 8 23:45 binary_name
file
如果有帮助的话,以下是命令的输出:
- 当从 fuse 访问二进制文件时:即
file /path_to_mount_point/path_to_binary
ELF 64 位 LSB 无文件类型、无机器、无效版本(SYSV)
- 当没有使用 fuse 访问二进制文件时:即
file /path_to_binary
ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),动态链接,解释器 /lib64/ld-linux-x86-64.so.2,适用于 GNU/Linux 2.6.32,BuildID[sha1]=28ba79c778f7402713aec6af319ee0fbaf3a8014,已剥离
- 输出
ldd /path_to_mount_point/path_to_binary
不是动态可执行文件
- 输出
ldd /path_to_binary
linux-vdso.so.1 (0x00007fff0dbfb000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0cb6722000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0cb6705000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0cb6540000) /lib64/ld-linux-x86-64.so.2 (0x00007f0cb674a000)
我不知道我在这里做错了什么。