我有一个正在处理的 OSX 应用程序。它不是沙盒(它是一个内部应用程序,可以防止沙盒)。
在某些时候,我的应用程序启动了一个辅助应用程序,实际上只是一个命令行应用程序。我希望能够剥夺这个应用程序除了将文件写入 TMPDIR 之外的任何功能。我正在尝试遵循最小特权原则。
我正在使用的当前代码是:
NSTask* task = [NSTask new];
NSBundle* thisBundle = [NSBundle mainBundle];
[task setArguments:@[a, b, c]];
[task setLaunchPath:[thisBundle pathForAuxiliaryExecutable:@"MyProgram"]];
[task launch];
这可能与 NSTask 吗?如果不是,我可以使用什么机制以非常低的权限启动 MyProgram?