我有一个FUSE文件系统中,我编写了getxattr
和setxattr
这样的:Linux的能力在FUSE文件系统
int mfs_setxattr(const char *path, const char *name, const char *value, size_t size, int flags)
{
... /* some translation processing of path to rpath */
int ret = lsetxattr(rpath, name, value, size, flags);
... /* some logging works */
if (ret == -1) {
return -errno;
}
return 0;
}
和
int mfs_getxattr(const char *path, const char *name, char *value, size_t size)
{
... /* some translation processing of path to rpath */
int ret = lgetxattr(rpath, name, value, size);
... /* some logging works */
if (ret == -1) {
return -errno;
}
return ret;
}
我测试了这一点,它工作得很好,除了对于功能: 当我使用setcap为程序设置能力并运行它时,程序无法执行特权工作。尽管getcap返回了我之前设置的功能。
有人能告诉我一种方法来跟踪问题或给我一些关于发生了什么事情的指针吗?
有一个保险丝邮件列表,我比SO运气更好。也值得尝试一下邮件列表。 –
@ AndrewTomazos-Fathomling:我会试试,认为 – nsstl
......然后回到这里告诉我们你学到了什么。 –