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

Running my program says "bash: ./program Permission denied"

本文关键字:program Permission denied bash 我的 程序 运行      更新时间:2023-10-16

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

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

出了

什么问题,我该怎么办?

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

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

Unix

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

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

试试这个:

sudo chmod +x program_name
./program_name 

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

chmod u+x program_name