0

我想写入内存,/proc/$pid/mem但我认为这需要超级用户 root 权限。是否有 API 来测试程序是否有权编辑这些文件?

4

2 回答 2

2

您可以在输出stat()的路径名和st_mode字段中struct stat包含权限位。有关详细信息,请参见手册页stat(2)

于 2013-04-04T20:28:27.540 回答
0
int access(const char *path, int amode);

其中 path 是您的文件名,amode 是要检查的访问权限的按位或。

R_OK、W_OK 和 X_OK 分别保存用于检查读取、写入和搜索/执行权限的模式值。

int readable, readwritable;

//checking for read access
readable = access("/usr/bin/file", R_OK);

//checking for read and write access
readwritable = access("/usr/bin/file", R_OK|W_OK);

有关 access() 的完整描述,请查看手册页。

于 2013-04-04T20:55:17.157 回答