131 votes

Les développeurs doivent-ils avoir des droits d'administrateur sur leur PC ?

Les développeurs doivent-ils avoir des droits d'administrateur sur leur PC ou leur donner un accès d'utilisateur avancé est-il suffisant ?

Quelques commentaires :

  • S'ils veulent essayer de nouvelles application qui nécessiterait d'installer, ils peuvent l'essayer sur une machine virtuelle et obtenir plus tard la administrateur réseau de l'installer pour eux. Pensez-vous que cela pourrait fonctionner ?
  • Y a-t-il quelque chose qu'un développeur doit faire sur son PC qui pourrait nécessitant des droits d'administrateur ?

Nous sommes une équipe de 5 développeurs et construisons des applications web.

223voto

La réponse est "oui". Les développeurs devront manipuler des configurations système pour tester des éléments, installer des logiciels (au moins pour tester le processus d'installation de ce qu'ils sont en train de développer), manipuler le registre et exécuter des logiciels qui ne fonctionneront pas correctement sans les privilèges d'administrateur (pour ne citer que quelques exemples). Il existe une multitude d'autres tâches faisant partie intégrante du travail de développement qui nécessitent des privilèges d'administration.

Sachant que le personnel de développement n'a pas nécessairement un accès Root aux systèmes de production, les droits d'administration sur un PC local ne compromettent pas de manière significative la sécurité des systèmes de production. Il n'y a pratiquement aucune raison opérationnelle légitime de restreindre l'accès administrateur aux PC locaux pour le personnel qui en a besoin pour faire son travail.

Toutefois, la raison la plus importante de fournir un accès administratif est que la mise en place d'un environnement de développement compromis ou de second ordre envoie un message à votre personnel de développement :

"Nous apprécions tellement peu votre travail que nous que nous sommes prêts à considérablement compromettre votre capacité à faire votre travail sans aucune raison valable. En fait, nous sommes heureux de le faire pour couvrir nos propres cul, pour satisfaire les caprices de la bureaucratie mesquine ou parce que nous ne sommes tout simplement pas dérangés. Ce n'est que le meilleur des cas. Le pire cas est que nous sommes vraiment le le type de maniaque du contrôle qui voit ça comme notre prérogative de vous dire comment faire votre travail et ce que vous devez ou ne devez pas ce dont vous avez besoin pour le faire. Faites avec ce que ce qu'on vous donne et soyez reconnaissant d'avoir un travail.

D'une manière générale, offrir un environnement de travail de second ordre (sans parler d'un environnement fondamentalement défectueux) au personnel chargé du développement, c'est s'exposer aux conséquences naturelles de l'énervement de son personnel : incapacité à retenir les personnes compétentes, forte rotation du personnel, mauvais moral et mauvaise qualité des prestations. Il est tout simplement irresponsable de faire des efforts dans ce sens, surtout s'il s'agit de se plier aux caprices de la bureaucratie.

N'oubliez pas que la rotation du personnel n'entraîne pas seulement des coûts de remplacement du personnel. Le coût le plus grave de la rotation du personnel est que la plupart de ceux qui restent sont des employés morts qui ne peuvent pas obtenir un meilleur emploi. Au fil du temps, cela dégrade les capacités des départements concernés. Si votre secteur est suffisamment proche, vous pouvez également vous retrouver avec une réputation.

Il convient de noter que les privilèges administratifs sont beaucoup moins problématiques pour le développement sur les systèmes unix-oid ou mainframe que sur Windows. Sur ces plateformes, un utilisateur peut faire beaucoup plus dans son propre domaine sans avoir besoin de permissions pour l'ensemble du système. Vous voudrez probablement toujours un accès Root ou sudo pour les développeurs, mais l'absence de cet accès les gênera beaucoup moins souvent. Cette flexibilité est une raison importante mais moins connue de la popularité continue des systèmes d'exploitation dérivés d'Unix dans les écoles d'informatique.

84voto

Chris Lively Points 59564

Les développeurs doivent avoir le contrôle total et absolu de la machine qu'ils utilisent. La plupart des outils de débogage nécessitent des autorisations d'administrateur afin de s'introduire dans le runtime de l'application qu'ils construisent.

De plus, les développeurs téléchargent et essaient fréquemment de nouvelles choses. L'ajout d'étapes supplémentaires, comme la nécessité pour un administrateur réseau de passer et d'installer quelque chose pour eux, ne fait que frustrer le développeur et rendra rapidement la vie infernale pour le responsable des opérations réseau.

Cela dit, ils devraient être administrateurs de LEUR boîte, pas du réseau.

75voto

RossFabricant Points 7745

Il faut beaucoup plus de discipline pour écrire un bon code que pour utiliser un PC en toute sécurité. Si l'on ne peut pas faire confiance à vos développeurs pour les droits d'administration, alors votre projet est si mal parti que je ne peux pas imaginer que votre groupe réussisse même une tâche simple.

47voto

Toon Krijthe Points 36327

Oui et non.

Oui, cela permet de gagner beaucoup de temps en dérangeant le support système.

Non, vos utilisateurs ne l'ont pas, alors ne comptez pas dessus.

Nous développons avec des autorisations d'administrateur et nous testons sans. Ce qui fonctionne bien.

18voto

Nick Points 8126

L'administration locale oui, pour toutes les raisons mentionnées ci-dessus. Administrateur réseau non, parce qu'ils seront inévitablement entraînés dans des tâches d'administration réseau parce qu'ils "peuvent". Les développeurs devraient s'occuper du développement. L'administration réseau est un travail entièrement différent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X