是否必须在syscall open()之后完成所有文件操作?

时间:2016-09-04 14:50:46

标签: linux file linux-kernel operating-system system-calls

我正在尝试基于Linux系统调用实现所有文件操作(包括文件,目录,链接等)的沙箱。只是想知道我应该使用ptrace监视哪个系统调用。

似乎我们必须首先打开()文件才能读/写/执行。这是否意味着我们只需要关注open()?有没有其他方法可以替换open()?

1 个答案:

答案 0 :(得分:0)

没有。 open()仅用于读取或写入文件的内容。修改文件本身的操作不需要打开文件。这些操作的示例包括:

  • creat()
  • unlink()
  • link()symlink()
  • rename()
  • chmod()chown()chgrp()

和其他类似的系统调用。