运行我的程序说“bash:./program Permission denied”

新手上路,请多包涵

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

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

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

原文由 Kian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 762
1 个回答

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

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

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

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

原文由 Eric Postpischil 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题