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

原创 2015年07月10日 19:09:22

在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);
}


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

相关文章推荐

AppleScript 以管理员身份运行程序

以下这条Apple Script可以用管理员身份去执行一个命令或程序, 权限是继承的。 do shell script "chmod 777 /tmp" with administrator priv...

Objective-C MacOS以管理员权限运行程序

在MacOS下很多操作是需要管理员权限的, 比如我们运行chmod,在命令行下可以使用sudo chmod来申请以管理员权限运行。但是使用XCode写的程序是不能使用sudo的。 需要自己写代码来申...

iOS开发笔记之二十九——一个关于工程目录读写权限的问题

1、从互联网上或者其他途径拿过来的工程代码,往往会报下面的提示:   (1)打开文件的时候出现窗口提示You don’t have permission to save the file “proj...

mac os x 文件权限管理

文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件 作为一个程序执行。文件被创建时,文件所有者自动拥有对该文...

Objective-C简单继承代码

objective-c继承

转自xy849288321    http://blog.csdn.net/xy849288321/article/details/7555871?reload 继承  编写面向对象的程序的时候,...

Objective-C_继承、初始化方法、便利构造器

通过“打僵尸”示例,讲解Objective-C的继承、初始化方法和便利构造器

Objective-C 的“多继承”

转载地址: http://blog.csdn.net/yiyaaixuexi/article/details/8970734 当单继承不够用,很难为问题域建模时,我们通常都会直接想到多继承。多...

[Albert的专栏]★★objective-c面向对象之——类的继承

类的继承 继承是面向对象的三大特征(封装,多态,继承)之一,也是实现软件复用的重要手段。objective-c 继承是单继承,每个子类只有一个父类。 objective-c 里子类继承父类的语法格...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)