Objective c 部署具有root权限的应用程序
我已经编写了一个Cocoa应用程序,它使用libpcap监控网络流量。由于libpcap需要根权限,我想知道授予它根权限的最佳方式是什么(例如,使用Package Maker?)。我是否能够使用拖放安装程序部署它,或者PackageMaker是我唯一的选择Objective c 部署具有root权限的应用程序,objective-c,cocoa,macos,permissions,libpcap,Objective C,Cocoa,Macos,Permissions,Libpcap,我已经编写了一个Cocoa应用程序,它使用libpcap监控网络流量。由于libpcap需要根权限,我想知道授予它根权限的最佳方式是什么(例如,使用Package Maker?)。我是否能够使用拖放安装程序部署它,或者PackageMaker是我唯一的选择 此外,我想知道授予我的应用程序根权限所带来的安全风险。该应用程序还写入磁盘(sqlite数据库),我了解到,给一个写入磁盘根权限的应用程序不是一个好主意 苹果推荐的方法如下: 将需要特权操作的内容分解成一个单独的可执行文件(这就是为您使用l
此外,我想知道授予我的应用程序根权限所带来的安全风险。该应用程序还写入磁盘(sqlite数据库),我了解到,给一个写入磁盘根权限的应用程序不是一个好主意 苹果推荐的方法如下:
- 将需要特权操作的内容分解成一个单独的可执行文件(这就是为您使用libpcap的内容)
- 当应用程序需要启动特权exe时,它会创建一个授权引用并检查用户是否可以授权(称为预授权),并将授权的外部引用传递给特权exe李>
- 当它第一次启动时,特权exe在尝试执行特权操作之前再次获得授权
我强烈建议你阅读整本书。它更详细地讨论了所有这些内容,并包括一些示例代码。很有趣。安全扫描应用程序?也许你可以将其分为两个可执行文件,一个setuid(或在OSX上执行的任何操作),它只不过是获取数据包并以某种方式使其可用(管道、套接字等),另一个以正常用户权限运行,执行其他所有操作,包括写入文件。谢谢,这很有帮助。