我对 Linux 和编程还很陌生,所以请原谅我的知识不足。
我正在尝试运行一个名为试用版可执行文件名为试但是当我输入。/试在终端中出现此错误:
bash: ./trying: Permission denied
该文件夹位于我的硬盘上,硬盘上有 3 个分区,一个用于家庭,另一个用于我的 ubuntu_files,另一个是名为 MISC 的 fat32 分区。该文件夹位于我的硬盘的 fat32 分区内。
问题是无论我如何尝试使用chown
和chmod
(都使用递归)来更改包含以下内容的文件夹的权限:试用版和可执行文件(试) 文件,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
首先弄清楚分区是否是使用该标志安装的。