我有一个共享系统,运行Windows7 X64,只限于一个没有密码的“标准用户”。 不是每个有权访问系统的人都拥有pipe理员密码。
除了某些应用程序 – 特别是encryption硬盘/ USB闪存驱动器的解锁应用程序,这种方式效果不错。 具体的要么需要pipe理员访问(如希捷Blackarmor),要么只是失败 – 因为这些程序正在向设备发送原始命令,这是可以预料的。
我希望能够将这些特定程序的哈希添加到白名单,并让他们以pipe理员身份运行,而不需要任何提示。 由于这些是根据移动媒体的定义,我不能简单地使用文件名,甚至path。 共享系统的用户之一可以被认为是“狡猾的”,所以临时授予用户帐户pipe理员权限的任何东西肯定会引起问题。
我希望能够做到的:1)创build一个只能从白名单运行程序的pipe理员帐户(或者,从目录中失败的)我找不到一个好办法做到这一点:至于我可以告诉,SRP同样适用于所有用户? 即使我在系统上的所有目录上放置了一个“拒绝”标记,这样新的目录就会inheritance它,它仍然可能从挂载的USB设备上运行。 我也不知道是否有可能创build一个不会从父项inheritance的新目录,这将阻止拒绝令牌,并提供pipe理员访问权限。
2)find一个轻量级的服务,将在其本地上下文中运行这些程序Windows7似乎在默认情况下阻止交叉特权级别的通信,我还没有find这样的Windows 7的例子似乎是“sudo”( http:/ / /pages.cpsc.ucalgary.ca/~nfriess/sudo/ ),但是因为它使用了一个WLNOTIFY挂钩,所以在Vista和Windows7下都不行
非解决scheme:
– RunAs:需要pipe理员密码! (但是大家都称之为“sudo”)
RunAs / savecred:不错的想法,但似乎是完全不安全的。
– RUNASSPC – 与RunAs相同的概念,使用带有凭据的“encryption”文件,但检查用户空间。
– 计划的任务 – “固定”权限使得这一点变得困难,即使这样做也不支持交互式进程。
– SuRun:来自Google:“Surun使用自己的Windows服务,在程序启动时将用户添加到pipe理员组中,并将他从该组中自动删除”
有能力使用位于与pipe理需要的应用程序相同的目录清单文件,如果应用程序是app.exe清单将app.exe.manifest
关于msdn的一些信息。
也许它可以做到这一点:在本地GPO或通过域名,给用户“加载和卸载设备驱动程序”标准的用户。