Objective-C MacOS的管理员权限继承
生活随笔
收集整理的這篇文章主要介紹了
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以管理
- 下一篇: AppleScript 以管理员身份运行