将pipe理员权限授予所有用户的特定程序?

我的W2k8 R2服务器上安装了一个程序,需要pipe理员权限才能启动。

我有5个用户使用远程桌面远程进入服务器使用该程序。 我不想给这些用户的pipe理权限,但我希望他们能够正确运行程序。

这可能吗?

最好的办法是找出程序需要访问哪些registry项和目录位置,并让用户访问这些区域。

你可以使用一个工具,比如Sysinternals的Process Monitor 。 只需以用户身份login,启动Process Monitor,然后运行程序并logging拒绝访问的区域。

我可能会在AD中使用一个安全组,然后让安全组访问这些系统位置。 所有你需要做的就是将用户添加到该安全组,他们将能够使用他们自己的凭据在该系统上使用该程序。

肯定使用Cypher的build议。 我通过授予用户通过安全组(如果需要注册密钥)修改特定安装目录的权限,解决了许多讨厌的应用程序问题。 不幸的是,这假设一个能胜任的程序员编写应用程序的一半,并且在c:\ windows或c:\ windows \ system32中没有一个或两个需要相同访问权限的文件。

感谢您的答案,这是我最终解决它的方法:

  1. 在任务计划程序中创build一个计划任务。 计划的任务启动应用程序。 将任务设置为以最高特权级别运行。
  2. 在需要运行该应用程序的所有用户的桌面上创build一个快捷方式。 快捷键结束了看起来像这样: C:\Windows\System32\schtasks.exe /run /tn "Name of task"

唯一的缺点是,我需要为每个用户创build一个单独的任务,但我认为它工作得很好。

感谢大家。

唯一的缺点是,我需要为每个用户创build一个单独的任务,但我认为它工作得很好。

为什么不创build一个“应用用户” – 只用于任务,只有你知道PW。

这样你就不需要为每个用户创build一个单独的任务,同时授予这个用户pipe理员权限给应用程序。

Windows没有UNIX的“setuid”概念。 实际上只有两种方式可以到达你所在的位置:

第一个选项是执行“run as”types的场景,login的用户需要为高架用户提供适当的密码。 另一种方法是编写一个以pipe理员权限运行的“帮助者”服务(如同服务一般),然后授予用户一个提升的权限。

我对第二种select的细节有些模糊,但我之前在一家曾经工作过的公司看过。