c++ - 在/Library/Google/Chrome/NativeMessagingHosts 中创建 list 文件需要 super 用户权限

标签 c++ macos google-chrome google-chrome-extension chrome-native-messaging

这是在 Mac 10.8 上

我已经编写了 Google Chrome 扩展程序和一个本地消息传递可执行文件,它使用本地消息传递与 Chrome 扩展程序进行通信。作为开发的一部分,我的概念证明一切正常。

问题是现在我想部署它。 我有我的内部安装程序,我需要通过它在此/Library/Google/Chrome/NativeMessagingHosts 目录中创建一个 com.my_company.my_product.json list 文件,除非我要求管理员用户的密码,否则无法访问该目录。

作为将 NPPlugin 迁移到 Chrome Extension Native 消息传递通信的一部分,我正在做这个端口,它将取代 NPPlugin。 NPPlugin 可以从/Library 和 ~/Library 访问,不需要 sudo 权限。

为什么 list 文件需要在根/库级别而不是用户 ~/库级别?如果是这样,我们如何才能在 Mac 上安装它而不用管理员密码打扰用户,用户显然不太可能共享管理员密码。

如果有人有解决方案, native 可执行文件是一个可以使用 Mac API 调用的 C++ 程序。

最佳答案

你的理解是正确的。 Chromium 团队正在研究用户目录作为一个附加选项。确保持续安全是首要问题。当有更多要报告时,我会更新这个答案。 (2014 年 6 月 1 日更新:查看 Rob W. 对此答案的评论)

关于c++ - 在/Library/Google/Chrome/NativeMessagingHosts 中创建 list 文件需要 super 用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21007580/

相关文章:

objective-c - 使用 NSRunAlertPanel 时的 EXC_BAD_INSTRUCTION

python - 随机 : not enough state (1 bytes); ignored

debugging - 调试 CORS 错误的方法

c++ - 如何计算使用二进制搜索搜索单词所花费的时间

c++ - 带有自定义类的 boost 变体

java - 如何在 Mavericks 上获取 Java 6 JDK

javascript - 如何防止 Chrome 控制台压缩字符并打印每个字符?

javascript - jQuery ajaxStart、ajaxStop 尴尬行为

c++ - 将迭代器的元素传递给函数 : wrong type of pointer

C++ 程序使用的内存比系统上可用的内存多?