我们在
Windows服务器上共享一个文件夹,以提供对重要应用程序的访问.在更新应用程序时,我们(DBA)会更改共享的权限以拒绝对其的所有访问权限,然后断开共享上打开的所有文件.在我们完成应用程序更新(使用不同的共享到相同的文件)后,我们重新启用对共享的访问.
我们修改共享的方式是使用MS Management Console远程连接到服务器.显然,此功能需要服务器上的管理员访问权限,或者至少需要基础结构团队想要带走的某种级别的权限.
问题是如何处理应用程序更新的DBA如何尽可能少地使用服务器上的权限来禁用和启用对共享的访问?
虽然需要编程,但有一种可能性是编写系统服务(因此运行所有必需的权限,并设置为手动启动),并授予特定组启动和停止此服务的权限(这很简单,请参阅
How do I grant start/stop/restart permissions on a service to an arbitrary user or group on a non-domain-member server?,您可以使用例如Service Security Editor或Process Hacker来编辑ACL).
用户根本不需要任何权限:服务将在启动时执行所需的断开连接/共享更改,并在停止时恢复为正常配置.当您的应用程序必须更新时,执行此操作的用户只需在更新之前启动该服务,然后再将其停止.顺便说一下,某种软件使用这种解决方案,例如,允许每个人更新它(参见例如Mozilla Maintenance Service).