允许非pipe理员在Windows 7上以pipe理员身份运行程序

在* nix上,pipe理员可以使用setuid标志来允许非pipe理员运行某些程序,否则这些程序需要pipe理员权限。 有没有办法在Windows 7中做类似的事情?

之前在Windows XP中已经提到过这个问题,答案总的来说是不尽人意的。 我想知道如果Windows 7提供了一个更好的方法。

我能想到的一个想法是使用微软的UNIX应用程序子系统,但是我宁愿不把它安装在每个用户的系统上,如果我能避免的话。

我想到的另一个想法(也可以在XP上运行,但是我没有在任何地方看到过)会创build一个RunAsAdmin应用程序作为一个服务来运行,这个应用程序需要一个“安全”应用程序的白名单,可以被问到(从命令行,batch file或脚本)运行列表中的任何程序作为LocalSystem或任何帐户服务使用。 这可能吗?

有没有不像那些笨重的解决scheme? 或者,有没有人成功实施上述任何一种技术?

调查为什么程序需要pipe理员可能是富有成效的。 如果涉及到文件或registry权限等问题,则可以通过调整权限来授予用户访问权限,从而使程序可以在非pipe理员凭据下运行。

这个问题不应该是“我如何授予pipe理员权限”,问题应该是如何获得正确的特权给用户来运行应用程序。 在Windows中,“pipe理员权限”是指pipe理员默认获取的一组权限。 有很less的应用程序需要所有这些权限。 您应审核应用程序权限使用并相应地调整用户权限(最好通过创build组并将权限分配给该组)。 这个概念被称为最低特权原则

http://www.technize.com/how-to-always-run-programs-as-administrator-in-windows-7/

  1. 右键点击你想授予pipe理权限的程序
  2. 转到属性 – >兼容性选项卡
  3. 在兼容性选项卡末尾,您会看到以下checkbox:以pipe理员身份运行此程序
  4. 只需选中checkbox,然后单击确定,然后再次确定。
  5. 这将永久授予该程序的pipe理权限。

如果要为所有用户授予程序pipe理权限,则可以通过再次转至兼容性选项卡并单击更改所有用户的设置来完成此操作。

选中以pipe理员身份运行此程序的checkbox。

现在程序将以系统的所有用户的pipe理模式运行。

看看RunAsGui。 它允许您存储您希望允许用户使用的给定程序的pipe理员的encryption凭证。 免费。