【问题标题】:System calls that manage directories管理目录的系统调用
【发布时间】:2013-04-29 12:25:58
【问题描述】:

为了在用户模式Linux内核中实施一些安全措施,我正在尝试编辑系统调用,例如opendir和readdir,它们将控制目录,以便我可以保证某个目录不能被到达。在哪里可以找到与目录交互的所有系统调用的列表?

【问题讨论】:

  • 这里是系统调用列表:man7.org/linux/man-pages/man2/syscalls.2.html
  • 您没有充分描述您梦寐以求的确切安全措施......
  • 所以我的计划是:我有一个我不希望任何人访问的目录(除了有密码的那个),我想将它作为操作系统服务的一部分。如果我可以编辑与用户模式 ​​Linux 中的目录交互的所有系统调用以尊重我的意图,那么事情将是直截了当的。我需要的是这些系统调用的列表。

标签: linux system-calls directory


【解决方案1】:

我认为这不是正确的做法。候选人太多了。原则上,这个数字是无限的,因为随机加载的模块可以做任何他们想做的事情。 (您是否在控制加载哪些模块?)您最好在处理内核内部访问的通用例程中捕捉到这一点。

【讨论】:

  • 我想编辑只影响主磁盘的系统调用,与添加的模块无关。如果内核的系统调用数量是有限的,为什么这个数字是无限的?
  • 经过一番搜索,似乎是Linux中“fs/open.c”下的系统调用。
【解决方案2】:

您是否考虑过相反的方法,在访问某些敏感文件或目录时收到通知?

那么你会想要使用inotify。所以开始阅读inotify(7)(以及那里引用的系统调用手册页)。

也许udev 也可能是相关的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多