如何在 Linux 中加密数据,同时保留某些应用程序的访问权限

如何在 Linux 中加密数据,同时保留某些应用程序的访问权限

有没有什么方法可以设置Linux,使普通用户无法查看或修改加密文件(可能位于加密分区上),同时允许他使用具有完全访问权限的应用程序到那个文件?请注意,该文件应该被加密,而不仅仅是无法访问。

原因:我想在我的应用程序中使用 sqlite,但它没有加密,并且就正确的索引而言,存储加密的块并不是一个好主意。所以我想也许 Linux 可以解决这个问题。哦,这个应用程序将与设置机器一起提供,因此最终用户不需要搞乱分区和安装。

答案1

要求是:

  • 除非通过应用程序,否则任何用户都无法访问该文件。
  • 某些用户(大概不是全部)可以使用该应用程序访问该文件。

因此,该文件必须由特殊用户拥有,mysql如 Shawn 的评论中所述,并且应用程序也必须同样由mysql. (或者你可以分组进行。)

然后我们需要一种方法来限制谁可以运行该应用程序。我看到有两种方法可以做到这一点。

  • 我们可以创建一组被允许运行该应用程序的人,用于chmod 4750 app设置 setuid 位,以便他们可以使用所有者的有效 UID 来运行该应用程序。在这里,应用程序的权限将为-rwsr-x---.
  • 我们可以使用sudo来运行它,并设置/etc/sudoers限制允许运行它的用户。

相关内容