/var 内 systemd 服务的所有权和权限

/var 内 systemd 服务的所有权和权限

我正在开发一个应用程序,需要读取下面的一些配置文件/etc并写入下面的数据库文件/var/lib

我正在处理一个.service文件,以便使该应用程序能够作为 systemd 服务执行。

该应用程序执行许多与网络相关的任务,其对等点有时可能是未知的。

我将文件的 User 参数设置.service为普通用户(不是 root),因为我想谨慎对待与网络和未知对等点相关的安全影响。但这会阻止应用程序写入数据库,因为它没有/var/lib.

此设置的安全方法是什么?

答案1

我的解决方案类似于评论中@filbranden的建议(谢谢!)。

管理员用户属于特定组。我将组所有权设置/var/lib/db为该组(用户所有权仍然是root),并将该目录的权限设置为775drwxrwxr-x,组有w权限)。

现在,由于 systemd 服务是由管理员用户执行的,因此写入/var/lib/db不会出现错误。

相关内容