工具

1、yuzu

阅读更多

资源

1、ClimaCell

阅读更多

资讯

1、储存氢气的新材料

阅读更多

言论与数字

1、

阅读更多

周刊文摘

1、水雾淋浴

阅读更多

FFmpeg 视频处理入门教程

FFmpeg 是视频处理最常用的开源软件。

阅读更多

人工智能 AI 学习大礼包

人工智能 AI 现在是整个 IT 领域最热的热点,人才相对稀缺,薪酬待遇上升得很快。人才市场的 AI 招聘越来越多,投身这个领域的开发者也变得越来越多。许多同学都希望往这个方向发展,学习相关知识。

阅读更多

科技爱好者周刊:第 97 期

这里记录每周值得分享的科技内容,周五发布。

阅读更多

科技爱好者周刊:第 98 期

这里记录每周值得分享的科技内容,周五发布。

阅读更多

Bash 脚本如何创建临时文件:mktemp 命令和 trap 命令教程

有时,Bash 脚本需要创建临时文件或临时目录。

常见的做法是,自己在/tmp目录里面生成一个文件,这样做有很多弊端。本文介绍如何安全地处理临时文件。

一、临时文件的安全问题

直接创建临时文件,尤其在/tmp目录里面,往往会导致安全问题。

首先,/tmp目录是所有人可读写的,任何用户都可以往该目录里面写文件。创建的临时文件也是所有人可读的。

1
2
3
$ touch /tmp/info.txt
$ ls -l /tmp/info.txt
-rw-r--r-- 1 ruanyf ruanyf 0 12月 28 17:12 /tmp/info.txt

上面命令在/tmp目录直接创建文件,该文件默认是所有人可读的。

其次,如果攻击者知道临时文件的文件名,他可以创建符号链接,链接到临时文件,可能导致系统运行异常。攻击者也可能向脚本提供一些恶意数据。因此,临时文件最好使用不可预测、每次都不一样的文件名。

最后,临时文件使用完毕,应该删除。但是,脚本意外退出时,往往会忽略清理临时文件。

阅读更多