it-swarm-fr.com

Le «utilisateur» local est-il suffisant ou que les développeurs ont-ils besoin d'un administrateur local ou d'un utilisateur de puissance tout en codant?

Nous avons un équipage de développement offshore qui a une mauvaise habitude d'installer des logiciels non-sens sur les ordinateurs de bureau (qui n'a rien à voir avec leur fonction de travail) et envisage de supprimer leurs droits d'administrateur locaux.

L'administrateur local est-il une exigence avec VS2010? Comment courez-vous sans droits élevés? Quels problèmes allez-vous rencontrer?

17
goodguys_activate

Un programmeur doit fonctionner comme un utilisateur limité avec l'accès administrateur. C'est-à-dire que le programmeur devrait être l'administrateur de la machine, mais tout en travaillant, il devrait toujours Utiliser un compte d'utilisateur limité.

Si vous avez besoin de droits élevés pour travailler, pour tout sauf installer des logiciels, vous faites quelque chose de mal. Pire, si vous travaillez comme utilisateur de puissance ou désactivez des invites UAC ou similaires, vous ignorez des problèmes qui affecteront les utilisateurs finaux de votre logiciel, ce qui les oblige à fonctionner avec les mêmes privilèges que vous avez fait. C'est faux.

Cela est vrai, quel que soit le système d'exploitation que vous allez. Bien que Windows semble être le seul où il se présente.

Clarifier:

Lorsque je dis que le développeur devrait être un utilisateur limité, je veux dire qu'ils devraient avoir des droits d'administration complets sur la machine, mais lorsqu'ils testent leur code, cela devrait être fait dans un environnement utilisateur limité. Par exemple, le développeur pourrait utiliser la machine en tant qu'utilisateur capable d'admin, mais exécute tous les tests dans une machine virtuelle ou dans un compte utilisateur limité. Sur Linux, cela signifie simplement que le dev a Sudo accès; Sous Windows, cela peut signifier un compte de niveau administrateur avec UAC et d'autres fonctionnalités de sécurité entièrement activées.

19
greyfade

Ceci est une question politique ou de gestion, pas une technique.

Envisagez de créer et de communiquer un "Nous ne voulons pas que vous installiez un logiciel qui ne soit pas pertinent pour votre fonction de tâche", le patron peut donc faire un suivi en conséquence.

Pour aider à cela, l'administrateur système peut demander à chaque ordinateur une liste de programmes installés. Si vous le faites régulièrement, vous pouvez écrire un petit programme pour montrer ce qui a été installé. Vous pouvez donc obtenir un aperçu rapide.

Cela dit, à moins que ces programmes ne soient illégaux ou moralement inacceptables, pourquoi est-ce une question en premier lieu?

9
user1249

Cela dépend de ce que vous attendez qu'ils se développent de manière indépendante.

Certaines choses comme IIS Configuration, débogage à distance, modifier l'accès au GAC, la capacité d'exécuter votre propre MSI serait définitivement affectée. Si ce sont des choses que vous attendez des ressources externalisées à faire de manière autonome ne pas essayer sans beaucoup de tests.

Si votre externalisation des gens travaillent sur une application de bureau, ils peuvent déboguer localement, vous risquez probablement de vous en sortir avec peu de problèmes.

En supposant qu'ils utilisent le contrôle de la source, vous pouvez toujours planifier la ré-image périodique des machines.

La plupart des endroits où j'ai travaillé fait un grand nombre de cas, et attendez-vous à une grande indépendance. Tous les Devs sont donc des administrateurs locaux et la politique de l'entreprise permettent des mesures disciplinaires si vous installez des logiciels non approuvés vers une machine et causez des problèmes.

6
Bill

Je couronne vs 2010 pas en tant qu'administrateur la grande majorité du temps. Mais si vous souhaitez ajouter ou supprimer un service, configurez IIS ou Tinker dans le registre, vous aurez besoin de droits d'administrateur. De plus, certains des outils de profilage vous exhortent à relancer VS comme administrateur. Je pense donc à donner vos comptes de personnes offshore qui ne disposent pas de pouvoirs d'administration pour les empêcher de faire des parties (peut-être de petites) de leurs emplois.

De plus, avec la montée de l'UAC, de plus en plus d'applications peuvent maintenant installer sans pouvoirs d'administration. Ils ne mettent pas de choses dans HKLM, ils ne touchent rien sous System32, ils mettent l'exe quelque part sous les utilisateurs\Whatever Dossier, et cela les rend beaucoup plus faciles à supprimer, mais ne peut pas traiter votre point d'origine qu'ils sont installés " Logiciel de non-sens "par lequel je suppose que tu veux dire des jeux, des joueurs de musique, etc.

Si vous voulez vraiment empêcher les installations locales, le meilleur pari est peut-être à l'ancienne vision du "Le réseau est l'ordinateur" de début Java jours. Tout le monde fonctionne à partir d'un système de contrôle de version et doit vérifier dans ou s'affranchez chaque nuit avant de rentrer à la maison. Le courrier électronique vit dans le nuage pas sur la machine Dev. Et puis quand vous voulez que vous puissiez ré-imprimer leurs machines de devienne (encore plus facile si elles sont virtuelles) et ceux qui n'avaient rien de plus installé gagné 't même remarquez. J'aime un peu comme nettoyer le frigo du bureau au cours du week-end.

Mais soyez averti - je ne travaillerais pas dans cet environnement. J'installe les services publics et les aides, et je joue à des jeux de temps en temps et je ne prendrais pas gentiment à quelqu'un qui a essayé d'empêcher non plus. Je suis productif comme l'enfer. Si certains de vos devs ne sont pas productifs, enlever leurs installations locales ne les rendra pas plus productifs ou dédiés. Abordez ce problème à la racine et vous ne vous dérangerez pas qu'ils soient des administrateurs.

4
Kate Gregory

Je suppose que l'élimination des droits de l'administrateur des développeurs devraient s'accorder avec l'attribution de l'un des administrateurs système pour installer des logiciels pour l'équipe. Si vous n'avez pas les deux droits d'administrateur et que vous ne pouvez pas demander à l'administrateur d'installer des trucs pour vous, vous n'avez que sans main devant des défis auxquels vous êtes confronté. C'est comme si vous vous fermez votre équipe offsore en prison.

3
P Shved

Cela dépend de ce que vous écrivez un logiciel.

Si votre logiciel n'a pas besoin de intrusion dans votre système, il n'y a pas besoin de pouvoirs d'administrateur.


Une meilleure solution: à des fins d'installation/test, on pourrait souhaiter utiliser des ordinateurs VMS ou de test de test.

1
Tamara Wijsman

J'ai vu deux approches à ce sujet. Il fallait que tout le monde travaille à partir d'ordinateurs portables, qu'ils devaient se transformer en admins quand ils rentraient chez eux. Une fois que l'administrateur l'avait eu, ils tiendraient dans un CD qui réaménagerait la machine. Une fois que cela a été ré-imagé, il est allé sur une étagère, où il serait disponible à la personne suivante qui en avait besoin. Assurez-vous simplement que toutes les machines sont identiques, de sorte que vous ne vous retrouvez pas avec des personnes qui l'ont tous à la recherche d'un "bon".

L'autre chose que j'ai vue est d'avoir tout le monde démarrer à partir d'un serveur Citrix. Les machines n'ont pas de stockage local du tout, ils ne font que charger une image standard du réseau et l'exécutant de cela. Cela fonctionne mieux si vous avez des "types" différents des utilisateurs nécessitant différentes configurations (par exemple, les développeurs d'interface utilisateur ont une image avec Silverlight, les développeurs de WCF ont IIS et SQL Server, etc.)

Mais, avec tout ce qui dit, je pense que Thorbjorn [sic] a frappé le clou sur la tête: il s'agit d'une question de gestion et ne sera probablement pas traitée de manière adéquate avec une solution technique.

0
TMN