HowTo:Run" SUDO" App中的代码

时间:2017-10-07 17:44:13

标签: security xamarin sudo

我正在开发一款Mac应用程序,旨在安装多个软件。

为此,我要安装Homebrew(https://brew.sh)。

问题很简单:运行脚本/安装程序代码我找到了两种方法:

1)Process.Start("执行的事情")

2)Security.Authorization.Create()... ExecuteWithPrivileges。

实际上,我是,例如使用此代码安装HomeBrew。

        var defaults = Security.AuthorizationFlags.Defaults;
        using (var auth = Security.Authorization.Create(defaults))
        {
            var args = new[] { "BrewInstall.sh" };
            var ret = auth.ExecuteWithPrivileges("/bin/sh", defaults, args);
        }

我面临的问题非常简单:当我尝试(稍后)使用HomeBrew时,我发现一切都是由一个奇怪的用户执行的,我无法访问App本身。

有没有办法将一部分代码作为SUDO执行?当我尝试将它放入外部命令时,我得到一个类似" sudo的错误:你必须有一个tty来运行sudo"

我检查了Apple文档,但我无法找到解决此问题的任何内容。如果我尝试更改Security.AuthorizationFlags,系统不再提示我输入凭据,而且它根本不再工作。

谢谢

0 个答案:

没有答案