【问题标题】:How to execute a shell command with root permission from swift如何使用 swift 的 root 权限执行 shell 命令
【发布时间】:2014-12-29 17:09:09
【问题描述】:

我是 Swift 的新手,我正在尝试创建一个非常简单的应用程序,当你按下圆形按钮时它会执行 root shell 命令。

我在网上找到了以下链接,它解释了如何在 swift 上使用用户权限执行 shell 命令,但没有说明如何使用 root 权限执行此操作:http://practicalswift.com/2014/06/25/how-to-execute-shell-commands-from-swift/

我该怎么做?

【问题讨论】:

  • 你知道sudo吗?但swift 可能不允许使用sudo 命令。 (我对 Swift 没有直接经验,所以 YRMV)祝你好运。
  • 很好的问题,这将是一个可能很复杂的答案。如果我必须回答,我的解决方案要么使用some form of NSTask,要么使用更好(更现代),a tool that makes use of SMJobBlesswhich does have a Swift interface
  • 我正在考虑使用 pipe.fileHandleForWriting.writeData 将密码发送到 sudo,但我没有找到很多这方面的文档。

标签: macos shell swift root nstask


【解决方案1】:

又快又脏:

NSAppleScript(source: "do shell script \"sudo whatever\" with administrator " +
    "privileges")!.executeAndReturnError(nil)

或者查看特权帮助工具,但预计会更复杂。

【讨论】:

  • 不错的建议,但这不使用NSTask,并且可能有充分的理由要使用NSTask ...或至少类似的东西
猜你喜欢
  • 2020-05-22
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 2017-02-15
相关资源
最近更新 更多