Jic*_*hao 4 c sockets linux random
我想制作一个使用本地命名空间套接字的小程序,我需要使用临时文件名作为套接字的地址.
那么如何在Linux下生成随机文件名呢?
+我在Debian Linux下使用C编程语言. +根据GNU C库参考,tmpname是不安全的.但安全的tmpfile和mkstemp 创建并打开生成的文件.这里有任何安全和非创建 - 打开.换句话说,该函数应禁止任何其他请求在特定目录下创建生成的文件名.
谢谢.
bdo*_*lan 7
如果您在C中执行此操作,请使用mkdtemp创建目录,并将套接字放在此目录中.
mkdtemp
其他功能,如tmpnam或mktemp不安全; 因为它们不会为您创建和打开临时文件,所以很容易易于将预先存在的符号链接(由猜测您的临时文件名的攻击者放置)发送到某个重要文件(如/etc/passwd),覆盖它.
tmpnam
mktemp
/etc/passwd
请注意,没有办法"锁定"路径 - 你所能做的就是在那里创造一些东西.如果你最终需要在那里放一个套接字,那么使用目录作为占位符是你最好的选择.
归档时间:
16 年,1 月 前
查看次数:
8011 次
最近记录:
9 年,4 月 前