Luk*_*m74 6 macos rights authorization admin objective-c
我正在创建一个简单的应用程序,让您快速输入要运行的shell命令.它工作得很好,但是存在sudo命令的问题.目前,它检测到一个sudo命令,然后我尝试让它为用户的密码启动一个授权窗口,就像你在安装程序中看到的那样.
这是代码一旦检测到它是一个sudo命令:
SFAuthorization *authorization = [[SFAuthorization alloc] initWithFlags:kAuthorizationFlagPreAuthorize rights:NULL environment:kAuthorizationEmptyEnvironment];
if ([authorization obtainWithRight:"com.mycompany.myapplication" flags:kAuthorizationFlagPreAuthorize error:nil]){
//authorized, now run the command using NSTask.
}else{
//fail
}
Run Code Online (Sandbox Code Playgroud)
现在,据我所知,这完全是错误的.这正是我从文档中拼凑而成的内容.有任何想法吗?
安全很难。我可以解释文档并提供代码片段,但我可能是错的。更糟糕的是,即使我的高级描述是正确的,代码片段中很可能存在一个会破坏安全性的小错误。
如果您要搞乱权限升级,最好的方法是阅读文档并使用提供的示例。
| 归档时间: |
|
| 查看次数: |
3215 次 |
| 最近记录: |