在 *nix 上,管理员可以使用 setuid 标志允许非管理员运行某些程序,否则这些程序需要管理员权限。在 Windows 7 中有没有办法做类似的事情?
这个问题已经在这里被问到前针对 Windows XP,答案通常不令人满意。我想知道 Windows 7 是否提供了更好的方法。
我能想到的一个想法是使用 Microsoft 的 UNIX 应用程序子系统,但如果可以避免的话,我宁愿不在每个用户的系统上安装它。
我能想到的另一个想法(也适用于 XP,但我没有看到任何地方提到过)是创建一个作为服务,它采用“安全”应用程序的白名单,并且可以被要求(从命令行、批处理文件或脚本)以 LocalSystem 或服务使用的任何帐户身份运行列表中的任何程序。这可能吗?
有没有不那么笨重的解决方案?或者,有人成功实施了上述任何一种技术吗?
答案1
调查可能会有成效为什么程序需要管理员权限。如果涉及到文件或注册表权限之类的问题,那么您可以通过调整权限来授予用户访问权限,从而使程序在非管理员凭据下运行。
答案2
问题不应该是“我如何授予管理员权限”,而应该是如何让用户获得运行应用程序的正确权限。在 Windows 中,“管理员权限”是指管理员默认获得的权限集合。很少有应用程序需要所有这些权限。您应该审核应用程序的权限使用情况并相应地调整用户权限(最好通过创建一个组并将权限分配给该组)。这个概念被称为最小特权原则
答案3
http://www.technize.com/how-to-always-run-programs-as-administrator-in-windows-7/
- 右键单击要授予管理权限的程序
- 转到属性 –> 兼容性选项卡
- 在兼容性选项卡的末尾,您将看到以下复选框:以管理员身份运行此程序
- 只需选中复选框并单击“确定”,然后再次单击“确定”。
- 这将永久授予该程序管理权限。
如果您想授予所有用户程序管理权限,那么您可以再次转到兼容性选项卡并单击更改所有用户的设置。
选中以管理员身份运行此程序复选框。
现在,该程序将以系统所有用户的管理模式运行。
答案4
查看 RunAsGui。它允许您存储要允许用户使用的给定程序的管理员的加密凭据。它是免费的。