码迷,mamicode.com
首页 > 系统相关 > 详细

Objective-C MacOS的管理员权限继承

时间:2015-07-10 20:53:11      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:objective-c   macos   管理员权限   

在MacOS下可以使用AuthorizationExecuteWithPrivileges函数以管理员身份运行某个程序,凡是以管理员权限运行会弹出一个输入密码的框。 而被执行的这个程序如果再以管理员权理去执行另外一个程序,又会弹出一个框。这说明权限是没有继承的。

写过Windows程序的人应该知道, Win7上如果以管理员身份运行程序是会弹出UAC提示的, 但是被运行的这个程序, 如果再去运行其他程序, 那么其他程序就都是管理员身份了,而且不会弹UAC提示, 这说明权限是继承的。

下面我们实现Mac下的权限继承

#import <Cocoa/Cocoa.h>

#import "STPrivilegedTask.h"

int main(int argc, const char * argv[]) {
    
    STPrivilegedTask *myTask = [[STPrivilegedTask alloc] init];
    NSString *fullPath = @"/Applications/test.app/Contents/MacOS/test";
    NSArray *args = [NSArray arrayWithObjects: @"install", nil]; //参数
    
    [myTask setLaunchPath:fullPath];
    [myTask setArguments:args];
    [myTask launch];
    
    return NSApplicationMain(argc, argv);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Objective-C MacOS的管理员权限继承

标签:objective-c   macos   管理员权限   

原文地址:http://blog.csdn.net/sysprogram/article/details/46834201

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!