从守护程序检查用户的文件是否存在

时间:2015-03-26 16:50:44

标签: c++ objective-c c macos qt

我有一个守护程序应用程序,它通过launchd运行并作为自己的用户运行。

使用Qt,我遇到了QFileInfo::exists的问题。如果文件位于用户的文件夹中,则该文件不可访问且exists()返回false。

守护进程需要知道给定的文件路径是否是文件的路径(如果存在),即使它位于属于另一个用户的文件夹中,但它不需要访问该文件。

显然,尝试在此实例中打开文件将失败,并且stat的文档指出:

  

通向该文件的路径名中列出的所有目录都必须是可搜索的

所以函数'stat'也是,access

由于守护进程是用Qt开发的,创建一个单独的XPC助手应用程序也会成为一个问题,除非有人可以在没有XCode的情况下建议如何做到这一点!

为了安全起见,我真的不想以root身份运行守护进程,所以守护进程是否有任何方法可以正确检查文件是否存在,可能是通过将其添加到特定组,还是使用函数来自C,C ++或Objective-C?

请注意,作为“管理员”组的成员也无法允许访问该文件。

0 个答案:

没有答案