代码之家  ›  专栏  ›  技术社区  ›  PJT

在chmod上使用fchmod更好吗?

  •  4
  • PJT  · 技术社区  · 15 年前

    正在使用 fchmod(int fildes, mode_t mode) 比使用chmod(const char*path,模式t)更好的主意?

    3 回复  |  直到 15 年前
        1
  •  8
  •   wallyk    15 年前

    几乎完全一样。 chmod 将花费很少的时间,因为它必须将路径转换为inode或filenode,而 fchmod 是否已查找inode/filenode。

    当然,错误条件很少 燃料电池组 由于该文件已知存在,因此具有打开权限等。

        2
  •  6
  •   Omnifarious    15 年前

    这取决于种族条件是否令人担忧。用 chmod 你会冒着被人从你下面重新命名文件并更改错误文件的风险。在某些情况下(特别是如果你是根用户),这可能是一个巨大的安全漏洞。

        3
  •  0
  •   Alok Singhal    15 年前

    如果您正在处理一个文件的内容,那么您已经有了文件描述符(或者因为您使用了 open() 为了得到它,或者因为你曾经 fopen() 并且可以使用 fileno() FILE * 指针),您可以使用 fchmod() .如果不想打开文件进行任何处理,只需更改模式,请使用 chmod() .