在PostgreSQL中,我们只需在pg_hba.conf中将localmd5更改为trust,就可以使用psql访问数据库中的所有数据,而无需密码。所以任何可以访问本地机器的人都可以更改这条线路。
那么,有没有办法用密码保护我们的数据库即使有人更改pg_hba.conf以信任
(我想创建离线应用程序,需要保护客户端数据库,我需要类似ms访问的东西,一旦我们设置了密码,它总是要求密码(
只要客户端在计算机上有root/administrator访问权限,就不能对pg_hba做太多操作。你可以让它只读,但root可以覆盖任何内容。您可以在只读文件系统上装载配置文件,但这太复杂了。
解决方案只能在数据库级别(而不是操作系统或应用程序(:加密数据和触发器,用于实现补充安全性。
我不认为postresql是满足您需求的答案,也许SQLite是正确的答案。