首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行目录时被拒绝的权限

问执行目录时被拒绝的权限
EN

Unix & Linux用户
提问于 2023-01-17 13:20:17
回答 1查看 168关注 0票数 0

我在Linux文件系统中使用了Docker和Kubernetes,并试图执行一个可执行文件(原来是一个目录)。

我会得到一个“权限拒绝”错误,这使我认为我搞砸了权限,但当我检查它时,一切都是正确的。

后来,我注意到这是我试图执行的目录。

我的问题是,在这种情况下出现“拒绝权限”错误,而不是“无法执行目录”或类似的错误,有多合理?

我在Linux方面不是很有经验,所以这个问题对你来说可能是个新手,但是事先谢谢你的回答。

发行版: Debian 10. FS: ext4

EN

回答 1

Unix & Linux用户

发布于 2023-01-17 13:58:22

“权限拒绝”是EACCES错误代码,如果文件权限位不授予您所请求的访问权限,则通常会得到该错误代码。

您说得对,在这里,像EISDIR (“是一个目录”)这样的东西可能更有意义。对于更一般的情况,例如使用FIFO,您可能需要一些其他的东西,也许ENOEXEC可以这样做,尽管它的错误消息现在引用的是文件格式(Linux中的“Exec格式错误”)。它是您获得的一个常规文件,您有足够的权限,但操作系统不认识。

我不认为“非常规文件”有标准错误。

不管怎么说,是在POSIX中指定为EACCES:

EACCES。新进程映像文件不是常规文件,并且实现不支持其类型文件的执行。

在不知道选择背后是否有真正的逻辑原因的情况下,我建议在这种情况下的一个通常的原因是,它是第一次这样做的,复制到所有其他系统,然后保持兼容性。它不太可能是唯一不完全匹配的错误代码。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/732099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档