我在 Cocoa 应用程序中使用 BAS,并带有管理员密码的自定义提示...
但现在我想更改提示。我在字符串文件中更改了它,它没有改变。我重建了所有内容并删除了 /var/run 中的套接字以及 launchdaemon 和 privelegedhelpertools 文件夹。但是提示不会改变!!!
帮助?
我在 Cocoa 应用程序中使用 BAS,并带有管理员密码的自定义提示...
但现在我想更改提示。我在字符串文件中更改了它,它没有改变。我重建了所有内容并删除了 /var/run 中的套接字以及 launchdaemon 和 privelegedhelpertools 文件夹。但是提示不会改变!!!
帮助?
提示是写入策略数据库的规则的一部分。当您第一次运行 BAS 时,它会根据您的定义在策略数据库中创建规则。后续运行确保这些规则存在,但它们不会被覆盖,即使您对应用程序中的规则或自定义提示进行了更改。
在您的本地计算机上,您需要通过打开策略数据库文件来清除规则,/etc/authorization
并删除有问题的整个规则(搜索 BetterAuthorizationSample)。当您再次运行 BAS 时,它将检测到该规则不存在并使用更新的信息再次写入。
如果您需要对已部署的应用程序进行更改,则必须在运行 BAS 之前编写一些自定义代码来删除规则(这将需要授权)。