保护纯文本文件中敏感数据的最佳做法?

Err*_*f1f 0 c sql linux daemon centos

目前我正在开发一个C linux守护进程,它接受用户输入的SQL连接字符串,然后将信息存储到本地conf文件(客户端).守护程序的目的是以一定的时间间隔向SQL数据库提交数据,因为每次加载守护程序时,它都将查找本地conf以获取SQL连接字符串.此外,通过使用命令行参数-c,用户可以在信息更改时重新配置SQL连接字符串.是否有人愿意分享一种保护这个conf文件的方法,以便它不是纯文本.请记住,我仍然需要能够访问和读取conf文件,因为存在其他conf设置.先谢谢你们.

编辑:我最终计划使用SSL在客户端和SQL服务器之间提交数据.

red*_*dow 6

保护文件的唯一方法是更改​​其权限,使其仅对运行守护程序的用户可读.

例如.如果您以用户'foo'和组'foo'运行守护程序,您应该:

chown foo.foo my-conf-file
chmod 600 my-conf-file
Run Code Online (Sandbox Code Playgroud)

(或者甚至chmod 400以防止意外修改,但我想在这种情况下你将失去-c选项功能).

注意:还要记住,在命令行上传递连接字符串是非常危险的,因为它们将从进程列表中可见!

您也可以使用一些GPG来加密文件,但是我没有看到那里的重点,因为那时您必须保护用于描述文件的密钥,并且您得到与以前完全相同的问题.