Ubuntu说“bash:./程序权限被拒绝”

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

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

怎么了,我能做些什么呢?

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

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

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

该命令只会改变与文件相关的权限; 它不会更改与整个卷关联的安全控制。 如果卷上的安全控制干扰执行,则可以使用选项重新挂载卷以允许执行。 但是,将文件复制到本地卷可能是一个更快,更简单的解决scheme。

尝试这个:

 sudo chmod +x program_name ./program_name 

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

 chmod u+x program_name