我想知道 Linux 内核在哪个阶段检查文件的属性。我的意思的一个例子是,如果我尝试编辑创建的具有不可变属性的文件。内核在什么时候返回错误,指示文件无法更改。如果我想更改属性的工作方式,那么完成此过程的最佳方法是什么。我正在考虑一个内核模块,它将读/写/附加函数重定向到我自己的一系列函数。
谢谢
编辑:
我真正感兴趣的是通过内核模块添加新的文件属性。
最佳答案
它检查 open() 的权限;具有不可变标志,例如,即使也请求读取,也无法打开文件进行写入。例如:
$ python
>>> f = file('/tmp/11', 'r+')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 13] Permission denied: '/tmp/11'
>>> f = file('/tmp/11', 'r')
>>> print f
<open file '/tmp/11', mode 'r' at 0x7f87b9ba1660>
要根据打开操作检查文件属性,请参阅 fs/namei.c 中的 inode_permission()。
关于c - Linux 文件属性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9854901/