Ubuntu说“bash:./ program Permission denied”

时间:2013-09-23 13:35:35

标签: bash shell sh

我在计算机1和计算机2上运行Ubuntu。我在计算机1上编译了一个C ++程序,我可以使用./program_name从终端执行它。它运行良好。

但是,当我尝试在计算机2上执行此操作时,它会说:bash: ./program_name: permission denied

出了什么问题,我该怎么办?

3 个答案:

答案 0 :(得分:308)

chmod u+x program_name。然后执行它。

如果不起作用,请将程序从USB设备复制到系统上的本机卷。然后在本地副本上chmod u+x program_name并执行该操作。

Unix和类Unix系统通常不会执行程序,除非它被标记为具有执行权限。将文件从一个系统复制到另一个系统(或安装外部卷)的方式可能已关闭执行权限(作为安全功能)。命令chmod u+x name为拥有该文件的用户添加了执行权限。

该命令仅更改与文件关联的权限;它不会更改与整个卷关联的安全控件。如果卷上的安全控件干扰执行(例如,可以为Unix noexec文件中的卷指定fstab选项,该文件表示不允许对文件执行权限卷),然后您可以使用选项重新安装卷以允许执行。但是,将文件复制到本地卷可能是一种更快速,更简单的解决方案。

答案 1 :(得分:27)

试试这个:

sudo chmod +x program_name
./program_name 

答案 2 :(得分:10)

听起来你没有在文件权限上设置执行标志,请尝试:

chmod u+x program_name