以用户身份运行的守护进程无人需要从桌面复制文件

发布于 2024-09-06 13:25:17 字数 206 浏览 8 评论 0原文

我有一个守护进程以无人身份运行。
它需要将我指定的文件复制到 /Users/Shared/MyFolder
如果我告诉它复制 /Users/Shared/ 中已有的文件,它就可以正常工作。
如果我告诉它从我的主目录中的某个位置(例如桌面)复制它,复制就会失败。
我正在使用 NSFileManager copyPath:toPath:

有什么想法吗?

I have a daemon that is running as user nobody.
It needs to copy a file that I specify into /Users/Shared/MyFolder
If I tell it to copy a file that is already in /Users/Shared/ it works fine.
If I tell it to copy it from somewhere in my home directory like the desktop, the copy fails.
I'm using NSFileManager copyPath:toPath:

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水中月 2024-09-13 13:25:17

未经特殊授权,以“无人”身份运行的进程不会发生这种情况。我假设您有某种提示输入文件的用户界面,对吗?如果是这样,请考虑使用授权服务 在需要时授权复制。

另外,如果您希望守护程序在用户未登录的情况下处理主文件夹中的文件,请考虑受 FileVault 保护的主文件夹的存在...您将无法触摸用户的主文件夹如果用户未登录(并且 FileVault 卷未安装到 /Users/username),则显示文件夹内容。

Not going to happen from a process running as "nobody" without special authorization. I'm assuming you have some sort of UI that prompts for the file, right? If so, consider using Authorization Services to authorize the copy when needed.

Also, in case you're hoping for your daemon to work with files in a user's home folder without that user being logged in, consider the existence of FileVault-protected home folders ... you won't be able to touch the user's home folder contents if the user isn't logged in (and the FileVault volume isn't mounted to /Users/username).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文