在公司环境中,开发人员是否应该拥有其计算机的管理员权限?为什么?
技术环境:
- Windows 7的
- Visual Studio 2008 和 2010
- SQL 服务器
答案1
他们应该吗?这取决于公司。我个人认为没问题只要有一些可以理解的规则。
- 成为你的盒子的管理员是一项特权,而不是权利。
- 多次感染病毒将被吊销权利
- 禁用公司代理将导致权利被撤销 - AV/库存/软件部署/等
- 基本上,如果你做了一些有风险的事情,网络就会被撤销权利
- 你安装的任何工具都不能成为你项目的依赖项,除非它们被列入官方批准的列表。礼貌地询问不要在部署当天崩溃,并要求在所有服务器上安装 $random_library,而无需进行任何测试
- 对于安装在其他地方的普通应用程序之外的任何内容,我们将尽最大努力提供支持。帮助台和/或系统管理员不会花 5 个小时来调试您出现 dll 冲突的原因。
答案2
通常我会说是的。调试器之类的东西需要相当高的权限才能正常工作,甚至需要管理员权限。开发人员通常需要安装随机软件,通过渠道安装可能需要几天或几周的时间。在此期间,开发人员通常会停止工作,公司只会损失金钱,尤其是如果开发人员是顾问的话。
答案3
开发既是一门科学,也是一门艺术;它并不像“知道”我们需要什么那么简单。如果我们已经有了答案,那么我们的工作就有一半是没有意义的;寻找正确的方法往往是反复进行的,并且可能以不可预测的方式涉及多种工具。要求中介安装每一个(通常具有高延迟),结果却发现(大约一个小时后)对于您的场景来说需要“超级工具插件”,这是很愚蠢的。
虽然虚拟机是理想的选择,但也有很多开发工具不能在虚拟机中运行(正确,甚至根本无法运行),因为它们他们自己是 VM - 我指的不是 JVM 之类的东西;我指的是完整的机器 emus/vms,例如设备工具包。兼容性正在改善。
此外,大多数开发工具占用空间非常大 - 比“常规”工具大得多(这使得 VM 托管比您想象的要麻烦一些),并且由于是进程调试器,因此通常需要提升访问权限。更不用说它们可能依赖 GUI;尝试在 VM GUI 上全程运行……非常痛苦。
绩效是巨大的就在这里;你认为用户在 Word 中每次按下按键后等待 3 秒钟才能注册密钥是可以的吗?我不是在开玩笑 - VM 上的开发工具等可这很糟糕;对于大多数开发目的来说需要响应能力。打断从大脑到键盘的复杂逻辑流几乎会使工作无法完成。我不想这么说,但事实是:开发时间很昂贵。
答案4
免责声明:我是一名开发人员。
对我来说,这个问题(和答案)似乎是从错误的角度来解决问题的 - 也就是说,争论的焦点是管理员想要/需要什么,而不是开发人员想要/需要什么。但你指出我们是在企业环境中,所以让我们从这个角度来看。
假设我们在 IT 或运营总监或控制我们业务的人面前争论这个问题预算,并提出这些问题。
- 履行部门职能所需的最低权限是什么?这是我们的底线。
- 授予他们更多访问权限的风险是什么?(实际风险,而不仅仅是最佳/最坏情况)
- 授予他们更多访问权限的真正预期成本是多少?(支持成本、修复缺乏经验的管理员无意造成的更改等)
- 真正的预期成本是多少不是授予他们更多访问权限?(生产力下降、需要 IT 支持来执行日常任务、由于士气低落而导致经验丰富的人员流失等)
回答了这些问题后,您就可以做出明智的决定,而不是冲动的决定。
针对您的特定环境,有些操作需要管理员权限(请参阅用户权限和 Visual Studio) — 如果他们没有做这些事情,那么你可以回答问题 2 - 4。
作为一名顾问,我见过这种政策的两个极端,虽然我总是希望拥有对机器的管理员访问权限,在某些情况下这是没有意义的。我不确定什么是因,什么是果,但毫无例外,我所见过的每个进行 Windows 开发的地方,开发人员拥有管理员访问权限的地方,每个开发人员的生产力都比他们被锁定的地方高得多。