我正在对Windows Server 2003/2008环境进行一些基本的更改。 在Unix方面,我的安全约束很简单:
在这个系统中,我可以控制谁具有pipe理员权限(通过组成员身份),防止他们意外地(通过要求“su”或“sudo”)意外执行pipe理员权限的东西,永远不会泄露核心“pipe理员”(即“root”)密码,因为他们是要求自己的。
如何在Windows Server上执行相同的操作? 我看到的选项是:
有什么解决办法可以让我同时控制谁可以通过组织成员的身份访问? 通过要求单独的密码防止他们意外地破坏事物; 防止他们知道pipe理员密码?
首先,只有pipe理员才能访问pipe理员,除非有一个巨大的(我想不出一个好的)理由他们需要它,那么应该留给pipe理员; 有一些普通用户获得pipe理员权限的情况很less,而且我通常对他们为什么需要这个问题持怀疑态度。
其次,您可以通过在Windows中使用组成员来完成您想要的操作。 你没有说你使用的是Active Directory,所以我不确定你是否有一个域名,但是你可以创build安全组并为其添加单独的用户帐户。 看这里。 我不会将用户分别添加到服务器上的本地pipe理员组中,因为这样会变得混乱,难以跟踪路线,并且会让您感到头疼,并且会造成潜在的安全问题。 如上所述,我要做的就是创build一个安全组,并将想要pipe理员权限的成员添加到该组中。 您将为您的用户创build两个用户帐户; 一个用于常规login,然后是仅用于高级操作的第二个帐户。 您可以将用户“高级/特权”帐户添加到安全组中,然后,您可以将该组放在实际服务器上提升的本地组成员资格上,例如“高级用户”。 这将允许他们执行很多function,而不是pipe理员。 有时候,该组需要本地pipe理员访问权限,此时您可以将该组放入服务器上的本地pipe理员组。
至于以pipe理员身份运行,你不必一直这样做。 让人们在不知道pipe理员或任何pipe理员密码的情况下运行的最佳方式是使用Shift +右键单击,然后select“以其他用户身份运行”,或右键单击并以pipe理员身份运行。 你首先要为他们创build一个单独的用户,他们拥有更高的权限,或者像上面提到的那样提升了权限(这个提升的用户将会像上面提到的那样再次被添加到安全组中),因为这个用户可以用来运行需要在正常/标准用户帐户login的同时进行提升。 看我的截图:

这应该照顾你想要做什么就像pipe理员一样运行的东西。 我可以补充的最后一个注意事项是保持UAC。 如果你这样做,用户将被要求键入他们(提升)的密码,而不是pipe理员密码,他们在服务器上做的事情。 当你需要input很多内容时,这是很痛苦的,但为了安全,这是值得的。
将他们的标准帐户保留为“标准”。 创build一个特权的第二个帐户,并将其添加到各个pipe理组。 使用具有特权帐户的“runas”。 (您可能会发现禁用与pipe理员帐户的交互式login是有用的,但是再次 – 这可能会令人厌烦)。
在Server 2003中,您需要使用“ Run As...选项以具有pipe理权限的帐户运行。
使用Server 2008+, 您可以使用UAC和/或您build议的Run as Administrator选项。 这不需要知道[本地]pipe理帐户的密码 – 任何pipe理凭证都可以。
因此,您需要将他们的帐户添加到本地pipe理组,或者从安全angular度更好地创build单独的pipe理帐户,并将其添加到本地pipe理组。 然后,当他们需要运行具有pipe理权限的东西时,UAC将提示inputpipe理凭据和/或他们将使用Run As... /以pipe理员身份Run as Administrator选项。