【问题标题】:mkdtemp variant that returns a file descriptor?返回文件描述符的 mkdtemp 变体?
【发布时间】:2026-02-06 10:50:01
【问题描述】:

是否有mkdtemp() 变体返回创建的临时目录的文件描述符?

我的意思是,类似mkstemp(),仅用于目录。

唯一临时目录的文件描述符与 openat() 之类的函数结合使用会很有用(即,与相对于 dirfd 工作的函数结合使用)。

【问题讨论】:

    标签: security unix directory posix mkdir


    【解决方案1】:

    我没有找到——当然不能保证不存在。

    只是一个调用mkdtemp 并在其上打开目录指针的函数是其中的一部分。但除非你能自动清理,否则它的用处就会降低。

    您可以组合一个使用atexit 进行清理的函数。这有效地将其限制在预定义数量的目录中,因为atexit 不接受任何参数(不过,可以有多个函数用于传递给atexit)。

    【讨论】: