<分区>
我在计算机 1 和计算机 2 上运行 Ubuntu。我在计算机 1 上编译了一个 C++ 程序,我可以使用 ./program_name
从终端执行它。它运行良好。
但是,当我尝试在计算机 2 上执行此操作时,它显示:bash: ./program_name: permission denied
出了什么问题,我该怎么办?
<分区>
我在计算机 1 和计算机 2 上运行 Ubuntu。我在计算机 1 上编译了一个 C++ 程序,我可以使用 ./program_name
从终端执行它。它运行良好。
但是,当我尝试在计算机 2 上执行此操作时,它显示:bash: ./program_name: permission denied
出了什么问题,我该怎么办?
最佳答案
chmod u+x 程序名
。然后执行。
如果这不起作用,请将程序从 USB 设备复制到系统上的 native 卷。然后在本地拷贝上执行 chmod u+x program_name
并执行它。
Unix 和类 Unix 系统通常不会执行程序,除非它被标记为具有执行权限。您将文件从一个系统复制到另一个系统(或安装外部卷)的方式可能已关闭执行权限(作为一项安全功能)。命令 chmod u+x name
为拥有该文件的用户添加执行它的权限。
该命令仅更改与文件关联的权限;它不会更改与整个卷关联的安全控制。如果是卷上的安全控制干扰了执行(例如,可以为 Unix fstab
文件中的卷指定 noexec
选项,它表示不允许卷上文件的执行权限),然后您可以使用允许执行的选项重新安装卷。但是,将文件复制到本地卷可能是一种更快速、更简单的解决方案。
关于c++ - 运行我的程序说 "bash: ./program Permission denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960689/