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

标签 c linux kernel file-permissions vfs

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

最佳答案

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

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

关于c - 如何从linux用户空间标记一些文件以便在内核空间对它们应用一些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50443934/

相关文章:

linux - 为什么我们在内核模块编程中实际上使用Open和Release?这些模块的调用模式是什么?

operating-system - 错误系统调用 : Function not implemented

c - 使用 fscanf 读取文本,然后使用 fprintf 将该文本打印到文件中

c - 在 C 中求解用户输入的方程式

c - 在C中将信息存储到变量中的问题

linux - SocketCAN中canfd_frame中的 `flags`字段是什么?

linux - Linux中的合并和对齐线

c - 常量与变量不匹配

python - 如何使用带有 Mutliprocessing 的 PYTHON 打开程序,并从主进程向其发送字符串?

linux - 进程如何处理信号?