Process。开头为“ Everyone”的用户名?

绝望

我想Process.Start和一些特权有限的用户通话,因为运行程序可能包含恶意代码。在这里,我认为Everyone首先尝试应该是正确的,并且我认为它没有任何关联的密码。

但是,以下代码将抱怨用户名或密码不正确(当然,用户名确实存在,因此看起来与密码有关):

var startInfo = new ProcessStartInfo("some_exe");
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.UserName = "Everyone";
startInfo.Domain = "mydomain";
startInfo.UseShellExecute = false;
Process.Start(startInfo);

如果无法做到这一点,我必须以某种方式动态地创建一个具有有限特权的用户帐户,并具有用于使用的完整用户名/密码Process.Start

在.NET core中,我们不能使用AppDomain创建沙箱的方法,这里唯一推荐的方法是尝试使用特权较少/受限的分支来分支另一个进程。

Ben

SIDEveryone不是用户,而是一个特殊的系统SID(有点像一个组)。因此,您不能使用它来“运行为”。

您需要专门为此创建一个用户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章