如何标记来自 linux 用户 space 的一些文件以便在内核 space 中对它们应用一些操作

How to mark some files from linux user space so as to apply some operation on them in kernel space

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

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

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