gpt4 book ai didi

c - Linux下socket如何生成随机文件名?

转载 作者:IT王子 更新时间:2023-10-29 00:59:51 27 4
gpt4 key购买 nike

我想制作一个使用本地命名空间套接字的小程序,我需要使用临时文件名作为套接字的地址。

那么Linux下如何生成随机文件名呢?

+ 我在 Debian Linux 下使用 C 编程语言。
+ 根据 GNU C 库引用,tmpname 不安全。但是安全的 tmpfile 和 mkstemp 创建打开生成的文件。是否有任何安全non-create-open 。换句话说,该函数应该禁止任何其他请求在特定目录下创建生成的文件名。

谢谢。

最佳答案

如果您在 C 中执行此操作,请使用 mkdtemp创建一个目录,并将您的套接字放入该目录中。

tmpnammktemp 等其他函数是不安全的;由于他们不会为您创建和打开临时文件,因此很容易受到一些重要文件(如 /etc/passwd ), 覆盖它。

请注意,无法“锁定”路径 - 您所能做的就是在那里创建东西。如果您最终需要将套接字放在那里,使用目录作为占位符是最好的选择。

关于c - Linux下socket如何生成随机文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699248/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com