我需要 root 权限才能运行 ./a.out (C) 程序

我需要 root 权限才能运行 ./a.out (C) 程序
cd /media/k4li/data2/C
gcc program.c
./a.out

运行./a.out:

bash: ./a.out: Permission denied

如果我输入sudo ./a.out我会得到:

 sudo: ./a.out: command not found

答案1

由于 NTFS 不存储或使用“Linux”文件权限,因此内核会模拟它们。您可以在挂载时设置整个挂载分区的权限。您有两个选择。

  1. 重新安装 NTFS 分区,将权限设置为限制较少的权限。这是最不安全的选项。

  2. 将可执行文件移动到 Linux 分区,然后对其进行 chmod,然后运行它。这里还有更多步骤,但这是最安全的选择。

2 比 1 更安全,因为您只更改一个文件的权限,而不是整个分区。

答案2

您需要将 a.out 的权限设置为可执行 - 使用:

sudo chmod +x a.out

然后尝试再次运行它。

编辑:需要在 chmod 上使用 sudo。

相关内容