我有一个托管在 VPS 上的网站,需要每晚运行 MySQL 转储。如果我创建 cron 命令:
mysqldump -u user -ppassword database | gzip > /path/to/zip/file
有安全问题吗?我知道config.conf
可以不将用户名和密码放入命令中,但是如果有人进入我的服务器,他们将能够看到我的 cron 作业和 conf 文件,所以我不确定我是否看到了两者之间有任何区别。
答案1
在您关心的情况下,这可能并不重要,但一个区别是,受适当保护的文件(权限600
)只能对其所有者(和 root)读取,而在某些 Unix 变体上,所有命令的整个命令行都是系统的所有用户都可以使用命令 来读取ps
。
(与此相反,一些在命令行上接受密码的命令会将其弄乱,以便它不会出现在 ps 的输出中。)
因此,如果入侵者以与拥有配置文件的用户不同的用户身份进入我们的服务器,情况可能会有所不同。