我们有一个离岸开发人员,他们有在公司台式机上安装废话软件的习惯(这与他们的工作功能无关),因此我们正在考虑取消其本地管理员权限。
VS2010是否需要本地管理员或本地超级用户?在没有提升权限的情况下如何运行?您会遇到什么问题?
我们有一个离岸开发人员,他们有在公司台式机上安装废话软件的习惯(这与他们的工作功能无关),因此我们正在考虑取消其本地管理员权限。
VS2010是否需要本地管理员或本地超级用户?在没有提升权限的情况下如何运行?您会遇到什么问题?
Answers:
程序员应以具有管理员权限的受限用户身份工作。也就是说,程序员应该是计算机的管理员,但是在工作时,他应该始终使用受限的用户帐户。
如果您需要提升的权限才能工作,那么除了安装软件之外,您所做的事情都是非常错误的。更糟糕的是,如果您以超级用户身份工作或禁用UAC提示等功能,那么您将忽略会影响软件最终用户的问题,迫使他们以与您相同的特权运行。错了
不管您使用什么操作系统,这都是事实。尽管Windows似乎是唯一出现的Windows。
澄清:
当我说开发人员应该是受限用户时,我的意思是他们应该对计算机拥有完全的管理员权限,但是当他们测试其代码时,应该在受限用户环境中进行。例如,开发人员可能以具有管理员权限的用户身份操作计算机,但在虚拟机或受限用户帐户中运行所有测试。在Linux上,这仅意味着开发人员具有sudo
访问权限。在Windows上,这可能意味着具有UAC和其他安全功能的管理员级别帐户已完全启用。
我绝大部分时间都不以管理员身份运行VS 2010。但是,如果要添加或删除服务,配置IIS或在注册表中进行修改,则需要管理员权限。另外,一些性能分析工具还建议您以管理员身份重新启动VS。因此,我认为向您的离岸人员提供没有管理权限的帐户将使他们无法从事某些(也许很小)的工作。
而且,随着UAC的兴起,现在可以在没有管理员权限的情况下安装越来越多的应用程序。他们没有将东西放在HKLM中,他们没有碰到System32下的任何东西,他们将exe放在users \ whoever文件夹下的某个位置,这使它们更容易删除,但可能无法解决他们最初安装“废话软件”,我假设您是指游戏,音乐播放器等。
如果您确实想防止本地安装,那么最好的选择是Java早期的“网络就是计算机”这一古老愿景。每个人都使用版本控制系统工作,并且必须每天晚上登记入住或搁置,然后才能回家。电子邮件驻留在云中,而不在开发机器上。等等,然后只要您愿意,就可以重新映像他们的开发机(即使它们是虚拟的也更容易),而那些没有额外安装的机器甚至都不会注意到。有点像在周末清理办公室的冰箱。
但请注意-我不会在那种环境下工作。我安装了实用程序和助手,偶尔玩游戏,对尝试阻止两者的人都不会客气。我像地狱一样富有生产力。如果您的某些开发人员工作效率低下,那么取消他们的本地安装将不会使他们更加高效或专注。从根本上解决该问题,您不会介意他们是管理员。
这取决于您要编写什么软件。
如果您的软件不需要侵入系统,则无需管理员权限。
更好的解决方案:出于安装/测试目的,可能要使用VM或测试实验室计算机。
我已经看到了两种方法。一种是让每个人都在笔记本电脑上工作,他们必须在回家时向管理员求助。一旦管理员拥有了它,他们将粘贴在CD中,该CD将对计算机进行重新映像。重新成像后,它会放在架子上,可供需要它的下一个人使用。只要确保所有机器都是相同的,那么您就不会被所有正在寻找“好”机器的人所困扰。
我看到的另一件事是让所有人都从Citrix服务器启动。这些机器根本没有本地存储,它们只是从网络加载标准映像并从中运行。如果您有需要不同配置的不同“类型”用户(例如,UI开发人员使用Silverlight的图像,WCF开发人员使用IIS和SQL Server等),则此方法会更好。
但是,尽管如此,我认为Thorbjorn [原文如此]令人头疼:这是一个管理问题,可能无法通过技术解决方案得到充分解决。