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”文件权限,因此内核会模拟它们。您可以在挂载时设置整个挂载分区的权限。您有两个选择。
重新安装 NTFS 分区,将权限设置为限制较少的权限。这是最不安全的选项。
将可执行文件移动到 Linux 分区,然后对其进行 chmod,然后运行它。这里还有更多步骤,但这是最安全的选择。
2 比 1 更安全,因为您只更改一个文件的权限,而不是整个分区。
答案2
您需要将 a.out 的权限设置为可执行 - 使用:
sudo chmod +x a.out
然后尝试再次运行它。
编辑:需要在 chmod 上使用 sudo。