允许 systemd 服务创建和写入文件/文件夹

允许 systemd 服务创建和写入文件/文件夹

我编写了一个运行良好的程序,但是当我将其作为服务运行时,它无法创建或写入文件和文件夹。

我的程序在我的主目录中创建文件夹,并在该文件夹中创建文件以存储通过 TCP 套接字传入的信息。

我确实在我的 .service 中使用了用户和组,但它只创建了没有任何权限的文件夹并且无法创建文件。

非常感谢您的帮助。

答案1

我通过在代码中正确设置 umask 解决了该问题。

澄清:我在创建文件或文件夹时遇到了问题,我以为问题是由于我的服务器程序是 systemd 服务,但后来我发现我错误地使用了 umask:

umask(0755); <- bad

umask(0022); <- solved my problem

相关内容