windows-server-2008 - 如何允许管理员在没有 UAC 提升的情况下编辑我的应用程序的配置文件?

标签 windows-server-2008 installation text-editor uac elevation

我的公司生产了一个跨平台的服务器应用程序,它从用户可编辑的配置文件中加载其配置。在 Windows 上,配置文件 ACL 被我们的安装程序锁定,以允许所有用户读取,但仅限管理员和本地系统进行编辑。

不幸的是,在 Windows Server 2008 上,即使是本地管理员也不再拥有管理员权限(因为 UAC),除非他们正在运行提升的应用程序。这引起了无法使用他们喜欢的文本编辑器打开和保存配置文件更改的用户的提示——他们可以打开文件(因为任何人都可以阅读)但不能保存。

任何人都对我们可以在我们的应用程序的设置中做些什么(如果有的话)提出建议,以使 Windows Server 2008 上的管理员更容易编辑?

相关问题:如果一个 Windows Server 2008 管理员想要编辑一个 admins-only 配置文件,他通常是怎么做的?他是否被迫使用足够智能的文本编辑器在需要提升时自动提升,就像 Windows 资源管理器在响应访问被拒绝错误时所做的那样?他是否从提升的命令提示符窗口启动编辑器?还有什么?

最佳答案

在我看来,无法右键单击记事本并选择“以管理员身份运行”的管理员不应该是管理员,但是……在现实生活中,确实有这样的管理员存在。

UAC 的工作原理是从用户的安全 token 中禁用管理员组 SID,直到您运行具有提升权限的程序为止。不幸的是,在非提升模式下运行时,无法使用管理权限。

一种解决方法,不幸的是需要大量的工作,可能是:

  • 为您的配置文件创建自定义文件名后缀。
  • 创建一个注册为该配置文件的处理程序的小应用程序。
  • 将小型应用程序标记为需要提升权限(您可以在创建新应用程序时执行此操作)。

  • 小应用程序唯一应该做的就是在注册表中找到 .txt 文件的注册处理程序,然后使用它打开文件 - 具有提升的权限。

    关于windows-server-2008 - 如何允许管理员在没有 UAC 提升的情况下编辑我的应用程序的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444265/

    相关文章:

    exception - 关于通过防火墙扩展在 wix 安装程序中添加防火墙异常的问题

    visual-studio - Visual Studio 中的 WIX UI 安装程序项目,现在管理更新?

    editor - 具有动态内联拼写检查功能的 Windows 文本编辑器

    editor - 在 sublime text 2 中推进新文件

    c# - 如何允许访问某些 Controller 而不访问 ASP.NET MVC 4 中的其他 Controller

    css - Windows Server 2008 IIS7 CSS 无法始终如一地工作

    macos - 如何使用 productbuild 构建具有自定义背景的 OS X 安装程序包?

    javascript - Quill 富文本编辑器调整图像大小仅适用于 IE,但不适用于 Chrome 或 Edge

    windows - 停止同步 windows 2008 r2 时钟

    azure - 将 Windows Azure Web 角色升级到 Server 2008 R2 以使用 IIS 7.5