如何在linux用户空间中标记一些文件,以便在内核空间中对它们应用一些操作

时间:2018-05-21 07:28:46

标签: c linux kernel file-permissions vfs

我想修改内核读/写函数(存在于fs / read_write.c中)以实现一个简单的替换密码,但我想只为某些文件而不是所有文件执行此操作,因此我希望在内核代码中使用检查这是否是用户标记为加密的文件,然后只执行此任务。 我发现的一种方法是用户可以使用以下方式设置粘性位:
chmod + t filename
然后使用__check_sticky()来检测,但还有其他更优雅的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用扩展文件属性。它们允许您设置和获取与文件关联的任意元数据。

检查man 5 attr和this question,了解如何从内核设置和获取扩展属性。