gpt4 book ai didi

objective-c - 使用 Objective-C/Cocoa 以 root 身份运行 Bash 脚本

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:48 25 4
gpt4 key购买 nike

假设在 xCode 项目的 Resources 文件夹中有一个名为 copystuff 的文件,该文件内容为:

#!/bin/sh
cp -R /Users/someuser/Documents /Users/admin/Desktop

如果下面的这段代码链接到 IB 中的一个按钮......当在 Cocoa 应用程序中按下按钮时,它会将/Users/someuser/Documents 目录复制到/Users/admin......它有效当应用程序在管理员帐户中启动时(此处使用 OS X 10.5.x)...

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects:[[NSBundle mainBundle]
pathForResource:@"copystuff" ofType:@"sh"], nil]];
[task launch];

我的问题是.. 有没有办法让 NSTask 以 root 身份运行脚本,同时从非管理员帐户调用此代码?或者问另一种方式.. Objective-C 是否可以编码为从非管理员帐户以 root 身份从/usr/bin 运行脚本?

最佳答案

我强烈建议不要使用这样的外部脚本。最好使用 NSFileManager 执行此操作并将其保存在受控代码中。但是关于如何成为root的问题,你要看Authorization Services .此站点将引导您完成如何创建提升其权限的应用程序,包括适用于它的适当 UI 元素。

关于objective-c - 使用 Objective-C/Cocoa 以 root 身份运行 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2246421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com