我chmod 777'一个可执行文件,并试图执行它是这样的:/ home / gandalf / ./sample,但它不工作/ bin / bash:第25行:./sample:权限被拒绝可能是什么问题? 谢谢。
看起来像./sample是其他内容的包装器脚本,并且正在调用第25行的另一个脚本/程序,您没有执行权限。
我会尝试cat ./sample来查看第25行将会发生的事情。
如果你不明白发生了什么,你可以在你的问题中发布脚本的内容,我们将帮助你。
当你键入file sample结果是什么?
请注意,它可能是您的文件系统挂载noexec来停止执行您的主目录中的文件。
也许你的二进制文件是:
system("/script/on/which/you/have/no/permission");
要么
exec("/script/on/which/you/have/no/permission");
正如马塞尔所说,可能有一个exec调用另一个可执行文件。 尝试用strace运行它,你应该发现,即:
$ strace a.out|grep exec ...snip... execve("/bin/ls", ["ls"], [/* 37 vars */]) = 0 ...snip...