我已经更改了文件权限模式,但仍然无法运行任何可执行文件。
ls -li
chmod a+x file_name
./file_name
sudo ./file_name
答案1
可能阻止文件执行的情况有:
- 安全模块
- 安装选项
- 不同架构的二进制文件
AppArmor 或 SELinux 之类的东西可以阻止可执行文件进入路径。我猜这会记录在系统日志中。
确定存储二进制文件的文件系统(我使用df -T ./file_name
并使用第一列)并检查mount | grep /dev/md2
是否包含 noexec 选项
架构不兼容
我用ldd ts3server_linux_x86
可能会回应
not a dynamic executable
当文件与你的系统不兼容时。我的 shell 会响应
zsh: no such file or directory: ./ts3server_linux_x86
如果我尝试执行不兼容的二进制文件。同样像这个回答您可以检查file ./file_name
二进制文件是在什么架构下创建的。
答案2
./file_name
如果shell 中的输出为空(即没有错误消息),则表示程序执行成功。程序只是恰好没有在 stdout 或 stderr 上产生任何数据。