尝试执行文件时出现 Bash 错误

尝试执行文件时出现 Bash 错误

我对 Linux 和编程还很陌生,所以请原谅我的知识不足。

我正在尝试运行一个名为试用版可执行文件名为但是当我输入。/试在终端中出现此错误:

bash: ./trying: Permission denied

该文件夹位于我的硬盘上,硬盘上有 3 个分区,一个用于家庭,另一个用于我的 ubuntu_files,另一个是名为 MISC 的 fat32 分区。该文件夹位于我的硬盘的 fat32 分区内。

问题是无论我如何尝试使用chownchmod(都使用递归)来更改包含以下内容的文件夹的权限:试用版和可执行文件() 文件,bash 错误消息仍然保持不变。

用户是 nciacrklo,我输入了groups nciacrklo查看与该用户相关联的组的内容,并在我的终端中尝试了下面的代码。

sudo chown nciacrklo:nciacrklo /media/nciacrklo/MISC/LibUsb -R -v

然后它说:

ownership of `/media/nciacrklo/MISC/LibUsb/trying' retained as nciacrklo:nciacrklo 
ownership of `/media/nciacrklo/MISC/LibUsb/trial.c' retained as nciacrklo:nciacrklo

进而,

sudo chmod 755 /media/nciacrklo/MISC/LibUsb -R -v

然后它说,

mode of `/media/nciacrklo/MISC/LibUsb/trying' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)
mode of `/media/nciacrklo/MISC/LibUsb/trial.c' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)

最后,我再次尝试,./trying但出现同样的错误。

bash: ./trying: Permission denied

请帮帮我,我正在努力解决这个问题,但我还必须做大量有关 LibUsb 主题的编程工作>.<。

关于如何使用 LibUsb 从网络摄像头获取图片的任何评论也会很有帮助。谢谢!!!\m/,

答案1

如果文件的所有权限都没问题,就像它们看起来那样,这可能是因为您的分区是使用该noexec标志安装的。

要检查这一点:输入mount并检查是否是这种情况。您应该看到类似以下内容的内容:

/dev/sdd1 on /media/banana type vfat (rw,noexec,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)

(看到noexec那里了吗?)

使用标志重新挂载您的分区,noexec如下所示:

sudo mount -o remount,exec /media/banana

(您必须banana根据您的情况调整该部分)。然后再次发出以下命令检查它是否有效mount

/dev/sdd1 on /media/banana type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)

(这里不再有noexec!)。

如果这是您的问题,您必须noexec首先弄清楚分区是否是使用该标志安装的。

相关内容