如何在Linux创建安全的临时文件
2015-08-19 14:44
946 查看
最近在做项目的时候需要用到一个临时文件,但是又不希望这个文件会被其他进程访问到,网上查了一下,发现有一个很简单的做法,但是需要使用POSIX的IO函数来进行。
首先需要明确两点:
1、我们需要的是临时文件;
2、不希望其他进程可以访问
具体做法如下:
1、使用open创建一个文件,获取文件的描述符;
2、确认文件建成功后,使用unlink函数将文件删除,效果是在相应目录下该文件被删除了,使用ls、du是看不到的,需要注意的是现在我们还保持着该文件的描述符,因此,此时该文件的inode是没有被删除的,会等到inode的引用变成0才会被删除,这个时候使用df是可以看到该文件的;这样一来就保证只有该进程持有该临时文件的描述符,从而保证了安全;
3、操作完成之后,使用close关闭文件的描述符,inode引用变成0,文件的inode被删除。
首先需要明确两点:
1、我们需要的是临时文件;
2、不希望其他进程可以访问
具体做法如下:
1、使用open创建一个文件,获取文件的描述符;
2、确认文件建成功后,使用unlink函数将文件删除,效果是在相应目录下该文件被删除了,使用ls、du是看不到的,需要注意的是现在我们还保持着该文件的描述符,因此,此时该文件的inode是没有被删除的,会等到inode的引用变成0才会被删除,这个时候使用df是可以看到该文件的;这样一来就保证只有该进程持有该临时文件的描述符,从而保证了安全;
3、操作完成之后,使用close关闭文件的描述符,inode引用变成0,文件的inode被删除。
相关文章推荐
- Linux 禁ping和开启ping操作
- 配置VirtualBox中CentOS 6.5的本地磁盘镜像作为其软件源
- centos6.5安装
- Linux wget 命令
- linux 压缩及归档
- 13款最好的开源Linux操作系统
- 用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
- Linux运行脚本作为守护进程的各种方法
- linux查看目录占用空间
- Linux主机之间同步文件
- Linux常用命令
- 应用 Valgrind 发现 Linux 程序的内存问题
- Linux运维工程师必须具备的技能
- Linux 命令 - 删除文件或目录 rm
- linux主机之间传输数据
- Linux下好玩的命令
- linux合并文件
- 在CentOS下搭建自己的Git服务器
- 64位ubuntu:arm-linux-gcc –v 提示找不到该文件或目录
- linux 命令 - 删除空目录 rmdir