l0b*_*0b0 5 filesystems security files linux-kernel
跟进修复 Unix/Linux/POSIX 文件名:控制字符(例如换行符)、前导破折号和其他问题*,是否有某种方法可以禁止在任何常用的 Linux 内核/文件系统上创建名称有问题的文件?这需要在较低级别上强制执行,因此除了通过 root 访问更改配置之外,任何修改都无法创建此类文件名。例如,告诉文件系统驱动程序仅接受有效的 UTF-8 序列(不带控制字符、换行符以及可能的其他字符(例如名称开头的连字符))的挂载选项将是理想的选择。
用例主要是安全强化,但也能够在代码中处理文件名,而无需进行可怕的黑客攻击(请参阅上面的文章以获取大量详细信息)。
*:迄今为止在答案和评论中提出的大部分观点已在本文中得到解决。发帖前请检查一下。
有没有办法禁止在任何常用的 Linux 内核/文件系统上创建名称有问题的文件?
就在这里。
您fanotify
可以让用户态程序拦截您想要观看的任何目录树上的文件操作。这可以用来实现诸如使用禁止的文件名之类的事情。
使用内核 ebpf 探针,您可能可以执行相同的操作,而无需推断额外的上下文切换开销(并且无需实现文件系统或添加内核模块)。但我从来没有尝试过。
由于该文章的作者可能对其他人(尤其是那些编写操作系统和实用程序的人)可能不会分享的文件名有问题有特定的看法,因此我认为没有一个现成的工具可以完全满足您的要求想要 - 但只需几行代码就可以很容易地进行编码。
归档时间: |
|
查看次数: |
367 次 |
最近记录: |