¿Deberían los desarrolladores tener derechos de administrador local en su estación de trabajo? ¿Existe una alternativa válida / productiva?

Como desarrollador, diría “Definitivamente sí”.

Lamentablemente, cada técnico de TI con el que he trabajado ha dicho “¡Definitivamente no!”.

El resultado de este desacuerdo parece depender de la naturaleza de la empresa.

En los grupos de software pesado, los desarrolladores generalmente ganan.

En dos lugares en los que trabajé, donde estaba desarrollando un juego muy conectado en red: la gente de TI “ganó” porque el tema de la seguridad de la red para el juego en vivo era muy crítico para nuestro negocio … y en uno de esos dos casos, realmente configuramos una red local para desarrolladores que no tenía puntos de contacto con la red corporativa para que pudiéramos hacer nuestro trabajo con privilegios de administrador; nuestro equipo de TI local también se desconectó de la red corporativa. Lamentablemente, eso generó más dolor cuando necesitábamos corregir errores en el juego en vivo, y nuestros gerentes tenían que tener dos computadoras en sus escritorios, una para hablar con la empresa, la otra para hablar con nosotros … pero valió la pena la molestia.

“¿Deberían los desarrolladores tener derechos de administrador local en su estación de trabajo?”

Sí, y lo hacemos Hasta donde yo sé, todos, al menos todos los ingenieros de la organización de más de 5000 empleados son administradores locales.

Además de Outlook y Powerpoint, estamos utilizando una gran cantidad de hardware y software exóticos. Llamarlo cien veces al día sería imposible.

Sabes lo que sucede cuando TI intenta evitar que hagas tu trabajo en lugar de ayudarte: lo mismo que describió Steve Baker. Sucedió en trabajos anteriores … Tomé mi computadora privada y usé la compañía que me proporcionó para acceder solo a los archivos. Internet restringido? Tomé un módem, marqué mi proveedor de internet y descargué la hoja de datos que necesitaba. ¿Software deshabilitado con hash del ejecutable? Simplemente agregue un cero o cambie algún texto en el binario. Etc …

¡Si hay voluntad, hay manera! Los desarrolladores no son fáciles de detener cuando realmente quieren trabajar. Especialmente no en Windows.

En la mayoría de los casos hay soluciones disponibles para no tener acceso de root. Sin embargo, generalmente son más dolorosos. Tener acceso a la raíz significa que no tengo que llamar mucho a TI. Pero también significa que si fuera necesario, sería malo. Dependiendo de cuán grande sea el departamento de TI que tenga demasiados problemas grandes, podría abrumar, mientras que los problemas más pequeños debido a la falta de root probablemente se puedan poner en cola. Prefiero tener root, pero puedo entender por qué la gente no quiere que lo tenga.

¿Hay una alternativa? Seguro. Hipervisores Todos pueden ejecutar una VM que tenga un conjunto común de herramientas, entonces es relativamente simple matarla y comenzar de nuevo.

Eso depende de las políticas de su empresa.

Pero, si está desarrollando en una máquina virtual, tendrá un administrador local en la máquina virtual donde está realizando el trabajo de desarrollo.

Definitivamente hay beneficios positivos para tener derechos de administrador local en su máquina. Puede modificar su entorno para imitar más de cerca la producción o enrutar puertos privilegiados, etc.

Sin embargo, mucho o todo eso se puede lograr en una máquina virtual (virtualbox, VMware, VirtualPC, KVM, etc.). Docker incluso tiene una extensión para que inicies máquinas virtuales sin cabeza.

Pero cumpla con las políticas de su empresa para el hardware propiedad de la empresa.

¿Deberían los desarrolladores tener derechos de administrador local en su estación de trabajo?

Obviamente, si se trata de su propia máquina, tendrán una cuenta local con una forma de aumentar sus privilegios.

Para las máquinas de oficina o trabajo, que serán administradas, generalmente es una mala idea a menos que tenga una razón específica. Por ejemplo, el siglo pasado otorgaría rutinariamente derechos de administrador local a los desarrolladores de Windows NT para máquinas donde desarrollaban controladores de dispositivos. Simplemente no había una forma práctica de gestionarlos de otra manera. Sin embargo, esas máquinas no estarían conectadas directamente a nuestra red, lo que ayudaría a reducir el riesgo.

Hoy en día, y para el 99% de los casos, no, nadie debería tener derechos de administrador local excepto el equipo de infraestructura.

Si su respuesta inmediata a esto es algo así como “bueno, oye, necesito desarrollar un sitio web y no puedo vincularme al puerto 80”, entonces la solución es vincular a un puerto diferente o hacer que el equipo de infraestructura arregle su desarrollo ambiente.

Si hacen que haga lo que usted, como programador, necesita, minimiza las solicitudes de soporte en el futuro y hace felices a todos.

En la empresa para la que solía trabajar, creo que habría habido una huelga si no se nos hubiera permitido el acceso de root a nuestras propias máquinas.

Si cada vez que necesitaba acceso root, tenía que presentar una solicitud de soporte al departamento de TI, creo que todos se cansarían de eso bastante rápido.

Sin embargo, no es realmente cuestión de lo que debería entender, si algunas compañías tuvieran una política en contra.

No mencionas un sistema operativo. He visto respuestas asumiendo tanto Windows como (probablemente) GNU / Linux; No estoy seguro de si esta es una pregunta que tiene sentido en MacOS X.

Si los desarrolladores practican la computación inteligente y no valoran cosas como el mono púrpura de BonziBuddy por seguridad, tal vez puedas dejar que tengan administrador en una PC con Windows. Sin embargo, todavía me inclino hacia el “no”.

La mayoría del malware / spyware simplemente no existe para GNU / Linux, por lo que se trata de si confía o no en que sus desarrolladores no controlen sus máquinas. Es más probable que me incline hacia el “sí” en este caso, especialmente si lo piden.

No considero que una computadora sea realmente “mía” hasta que tenga acceso de administrador o root. La cuenta raíz siempre puede intervenir y copiar / mover / eliminar / renombrar archivos, o cambiar mi contraseña a voluntad. Los privilegios de administrador también son cómo los virus y el malware se propagan tan rápido en Windows, generalmente cuando alguien que no sabe qué es la informática segura simplemente ejecuta cualquier cosa que descargó al azar sin saber de qué se trata o de dónde proviene realmente.

NADIE debe tener derechos de administrador en su estación de trabajo. Esta es una de las principales formas en que el malware y los piratas informáticos ingresan a los sistemas.

Según lo recomendado por US-CERT y NIST (las agencias federales encargadas de mantener a los usuarios de computadoras más seguros), todos deben iniciar sesión con una cuenta que no sea de administrador, preferiblemente una cuenta infantil (Windows) o de control parental (macOS).

Si. Necesitamos herramientas, y no hay ninguna posibilidad en el infierno de que TI sepa de antemano lo que necesitaremos.

Una cosa estúpida que hace nuestra compañía es limitar la descarga máxima de archivos a 100-ish mb. Sé lo que estás pensando: no quieres que los desarrolladores descarguen películas en el trabajo.

Bueno, adivina qué: ningún IDE basado en eclipse está por debajo de 200mb. Ninguna distribución de Linux que necesitamos está por debajo de 500mb. Algunos binarios del controlador están por encima de 100mb. ¿Sabes lo bueno que es esperar medio día de trabajo para obtener un solo archivo? Nos sentimos muy motivados durante ese tiempo. No.

Debe usar una cuenta que no sea de administrador y, si es necesario, sudo para cuando necesite más privilegios.

More Interesting

¿Cuál es la herramienta JIRA de Atlassian?

¿Por qué IBM tiene una reputación tan pobre para desarrollar soluciones de software?

¿Por qué la seguridad cibernética y el desarrollo de software son tan bajos en trabajadores a pesar de su importancia?

No puedo pasar más de 4 horas seguidas programando. ¿Qué tengo que hacer?

¿Cuáles son algunos ejemplos en los que ir en contra del desarrollo de software funcionó la sabiduría convencional?

¿Cuál sería un buen cronograma con respecto a las áreas de aprendizaje en informática cada semana para convertirse en un desarrollador de software de la industria competente?

¿Qué es 'portar' en el desarrollo de software?

¿Gayle Laakman McDowell ha trabajado alguna vez como desarrollador de software práctico? Si es así, ¿cuál fue su mejor código?

¿Cómo puede una tienda de desarrollo web personalizada pasar a sus propios proyectos o startups?

¿Hay alguna manera de dar un nuevo código de desarrollador para un proyecto de 2.5 GB a través de la red y luego sincronizar su copia a SVN para que pueda registrar el código?

¿Cuál será el futuro de un desarrollador de software?

¿Qué tan importante es la ubicación al encontrar un trabajo de desarrollo de software?

Cuando un desarrollador de software dice que una tarea no se puede hacer técnicamente, ¿qué haces?

¿Debería aumentarse el pago para los desarrolladores de Android en lugar de los desarrolladores de iOS, ya que la mayoría de los desarrolladores de iOS necesitan admitir dispositivos fabricados por Apple solo mientras que los desarrolladores de Android deben admitir dispositivos fabricados por tantos proveedores?

¿Cuál es el costo total para un desarrollador de software en Seattle?