【问题标题】:how to prevent application to be uninstalled by a user (w/o admin rights)?如何防止应用程序被用户卸载(无管理员权限)?
【发布时间】:2011-06-21 12:19:39
【问题描述】:

我需要禁止没有某些特殊权限的用户卸载应用程序(不是服务!)。这个怎么做?安装将由域管理员完成

感谢您的宝贵时间

[编辑] 我还需要防止从 Windows 启动中删除应用程序

[EDIT1] 澄清:应用程序很简单,安装在其文件夹中并添加到 Windows 启动(实际上是 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 注册表)。我真正需要的是禁止删除此文件夹和此注册表项,对于序号用户,而不是本地管理员。

【问题讨论】:

  • 这个问题更适合 serverfault.com,但是因为它有赏金所以不能移到那里。

标签: windows permissions installation rights rights-management


【解决方案1】:

[更新] 文件位置很容易。这很简单,撤销对 Builtin\Users 文件夹及其所有子文件夹和文件的写入权限,并给予 Builtin\Administrators 完全权限。您可以通过资源管理器、属性-> 权限或命令行明智地使用 cacls(或 icalcs,如果您在 win7 上)进行设置

regkey 在我的 win7 机器上已经只能由用户读取(不可写入)并且由本地管理员读取/写入(regedit -> 上下文菜单 -> 权限)。

如果它仍然不像您想弄清楚普通用户所在的组(也是域组),然后检查这些组是如何传播到本地计算机的。

正如 Ben 在 cmets 中所建议的那样,您可能会开始一个关于服务器故障的新问题。

[结束更新]

[编辑回复前] 我怀疑您是否可以禁止卸载“一个”应用程序。通过组策略,您可以“禁止删除更新”

(在计算机配置/管理模板/windows 组件/windows 安装程序下的 GPedit.msc 中)

组策略由域管理员设置,并在整个域中强制执行,因此不需要“权限”。但是您还需要防止本地管理员编辑本地组策略。

另一个更令人生畏的选择是在安全设置的软件限制部分中使用组策略。您可以在此处为您不想运行的 msi 或 exe 文件的名称输入路径策略。

两者都需要验证/测试以防止过多的限制阻止每个人开始任何事情......

【讨论】:

  • tnx 以获得详细答案。请阅读编辑后的帖子,可能有一些更简单的东西你可以指点我
【解决方案2】:

如果应用程序需要管理员权限才能安装,那么非管理员将无权删除它。

如果用户拥有本地管理权限,那么您将无法阻止任何事情。

【讨论】:

  • 使用管理员权限运行的安装程序当然可以保护文件和注册表设置,以使非管理员无法更改或删除它们。但同样可以授予非管理员修改权限。
  • 奇怪。我刚刚在我的 win10 标准帐户上安装了 qbittorent。它需要管理员提升才能安装,但不需要卸载它。
猜你喜欢
  • 2011-11-24
  • 2015-07-22
  • 2015-11-14
  • 1970-01-01
  • 2013-07-04
  • 2013-11-01
  • 1970-01-01
  • 2017-02-01
  • 2016-01-14
相关资源
最近更新 更多