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


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

mfc申请管理员权限

又是程序没有管理权限可能导致不能如期望那样运行,所以在运行时可能导致调用驱动或者内核的时候出现问题 申请管理员权限需:属性-->链接器-->清单文件-->用户账户级别-->请求管理员权限。用英文表示...
  • youyudexiaowangzi
  • youyudexiaowangzi
  • 2015年02月04日 13:13
  • 323

如何提高当前进程的权限

我爱北京天安门 天安门上太阳升 伟大领袖毛主席 指引我们向前进 如何提高当前进程的权限       很多时候我们需要提高本进程的权限,比如要把DLL注入类似W...
  • lbird
  • lbird
  • 2006年06月23日 15:49
  • 2898

Objective-c:封装、继承与多态

面向对象的三个基本特征是:封装、继承、多态。封装简介 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被成为抽象数据类型。 封装的意义在...
  • Hierarch_Lee
  • Hierarch_Lee
  • 2015年11月13日 00:07
  • 1810

Objective-C - 继承的经典实例

继承/* 1.继承的好处: 1> 抽取重复代码 2> 建立了类之间的关系 3> 子类可以拥有父类中的所有成员变量和方法 2.注意点 1> 基本上所有类的根类是NSObject */ /**...
  • wangzi11322
  • wangzi11322
  • 2015年04月18日 13:01
  • 1102

如何判断用户是否具备管理员权限

 如何判断用户是否具备管理员权限 #include       #include           //       //   Make   up   some   private   acce...
  • lbird
  • lbird
  • 2006年06月21日 15:46
  • 1451

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

在MacOS下可以使用AuthorizationExecuteWithPrivileges函数以管理员身份运行某个程序,凡是以管理员权限运行会弹出一个输入密码的框。 而被执行的这个程序如果再以管理员权...
  • SysProgram
  • SysProgram
  • 2015年07月10日 19:09
  • 2160

Objective-C继承机制

一、继承 1.基本概念 一个新类可以从已有的类派生出来,这个过程称为继承,新类称为子类,已有的类称为父类或超类。 2.继承的特点: 实现代码重用:子类可以重用父类的实例变量和方法。 子类可以...
  • TskyFree
  • TskyFree
  • 2012年09月16日 14:30
  • 3522

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

在MacOS下很多操作是需要管理员权限的, 比如我们运行chmod,在命令行下可以使用sudo chmod来申请以管理员权限运行。但是使用XCode写的程序是不能使用sudo的。 需要自己写代码来申...
  • SysProgram
  • SysProgram
  • 2015年07月10日 19:03
  • 2940

如何安装驱动

        用那个例子编译成功后,生成一个SYS文件。为了让这个驱动被系统加载,必须创建一个inf文件。由于是使用现成的例子,因此这一步也可以省下来。直接右键点击例子中的inf文件,在弹出的菜单中...
  • lbird
  • lbird
  • 2006年11月22日 11:37
  • 4900

Linux系统(Ubuntu Kylin)修改权限,超级管理员

Linux系统(Ubuntu Kylin)修改权限,超级管理员 1.Alt+F2 打开终端 2.gnome-terminal 回车 3.sudo nautilus 输入用户的密码,打开超级用...
  • WUYANYANstrong
  • WUYANYANstrong
  • 2017年03月16日 11:29
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Objective-C MacOS的管理员权限继承
举报原因:
原因补充:

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