gpt4 book ai didi

c - 如何检查我是否有权打开文件而不在 C 中的 Linux 上打开它?

转载 作者:IT王子 更新时间:2023-10-29 00:54:16 28 4
gpt4 key购买 nike

我希望能够检查文件是否可以在 Linux 上打开(用于读取或读写)。但是,我无法控制将打开文件的代码,因此我无法执行我通常会执行的操作,即打开文件然后处理错误。

我明白,由于权限在调用返回后但在打开调用之前发生变化,因此在任何检查中总会存在竞争条件,但我正在努力避免从我无法控制的库中记录一些不需要的错误.

我知道 stat ,但我不想尝试复制检查用户 ID 和组 ID 的逻辑。

最佳答案

您可以使用:

access("filename", R_OK);

euidaccess("filename", R_OK);

检查您的 UID 或 EUID 是否具有对相应文件的读取权限。 (如果您正在运行 setuid,UID 和 EUID 将不同)

关于c - 如何检查我是否有权打开文件而不在 C 中的 Linux 上打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7805756/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com