Slashdot Mirror


Do Your Developers Have Local Admin Rights?

plover writes "I work as a developer for a Very Large American Corporation. We are not an IT company, but have a large IT organization that does a lot of internal development. In my area, we do Windows development, which includes writing and maintaining code for various services and executables. A few years ago the Info Security group removed local administrator rights from most accounts and machines, but our area was granted exceptions for developers. My question is: do other developers in other large companies have local admin rights to their development environment? If not, how do you handle tasks like debugging, testing installations, or installing updated development tools that aren't a part of the standard corporate workstation?"

83 of 605 comments (clear)

  1. Yes by MyLongNickName · · Score: 3, Insightful

    Yes. Both at the company I work for and the regional bank I developed for a couple years ago. It is impossible, IMO, to do many functions without these privileges.

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    1. Re:Yes by Opportunist · · Score: 2, Informative

      Pretty much the same experience here. Even the "maximum security" bank auditing company I used to work (and develop) for gave their devs local admin rights. At least after their admins complained that they don't get anything accomplished because they had to do something for the devs every other minute.

      Instead, we got a tight rule set put in place that pretty much said that, while we do have local admin, any kind of change in the software setup of the machine (i.e. new software or new security rules, etc) required a written permission. And behold, it worked.

      You needn't cast every rule in silicium. It's one of the very, very few situations where a legal system can actually do something for security.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Yes by peragrin · · Score: 2, Insightful

      isn't that the point? if the developers have to develop for a multi user and limited rights user OS they will actually build software that obeys those constraints.

      I hold that windows isn't a true multi user OS until 90% of the software that runs on it can be used by a limited account. Look at any *nix. not only can you run one app under multiple users at the same time(something most windows app fail at) but all those apps are limited the privilieges of the user in question.

      Yes there are apps that require different rights. but windows developers for the most part don't understand the difference between admin and limited accounts.

      Maybe if they were forced to develop in such enviroments they would under the limits.

      --
      i thought once I was found, but it was only a dream.
    3. Re:Yes by Saint+Stephen · · Score: 2, Informative

      You just need to be a member of the Debugger Users group, and VStudio works fine without being Admin.

      It's not impossible to not be an administrator. I install all my services as an ordinary user and make sure things work OK.

      It's a lot more comfortable to just be the administrator, sure, no question - but it's not impossible.

    4. Re:Yes by Bert64 · · Score: 2, Insightful

      RH9 may be old, but not having root on it won't really be a significant detriment to a developer, unlike most windows setups...

      Also, having old hardware encourages developers to write more efficient code... If you give developers the latest and greatest they will write code which is fast enough on their highend dev boxes, but uselessly slow when deployed on older hardware.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    5. Re:Yes by mikael_j · · Score: 3, Insightful

      Having old hardware does not encourage developers to write more efficient code, it angers them and makes them disgruntled.

      I'm all for test environments being constrained in terms of hardware if that's what a real-world production environment would look like, but to tell devs they need to use 17" CRT monitors running at 1024x768@72Hz attached to 1 GHz PIII systems with 512 MiB of RAM will not make them more productive (I've had worse systems thrown at me as "developer workstations" in the last two years, good luck running your IDE + debugger + test environment on that).

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    6. Re:Yes by cloudmaster · · Score: 2, Informative

      As a Unix admin with a development background, I thank you for being competent. I'm technically a security admin (for a huge financial company), so I spend about half of my time arguing with people about how they could just tell me what they need to run as root and I could provide them a sudo rule set - which would reduce the passwords they have to remember *and* keep the environment more secure + auditable (which, due to various regulations like PCI, is more important to the business than cowtowing to lazy developers who don't know how to use the system they're developing).

      But the main reason for responding: If you started the process, you can generally attach a debugger to it. The difficulty is in attaching to another user's process. :)

      PS: I currently own a NeXT workstation. The pretty UI (and associated display postscript) only barely makes up for mixing the worst parts of BSD and SysV into that Devil's UNIX behind the scenes - I'd leave you alone with it too. ;)

    7. Re:Yes by jon3k · · Score: 2, Informative

      If by "a few years ago" you mean a decade, then yes, I agree completely.

    8. Re:Yes by drsmithy · · Score: 2, Informative

      A few years ago, a 1ghz P3 with 512mb and a 17" CRT was considered high end, and people would be very happy to have one...

      Hint: we just clocked over to 2010, not 2000.

  2. Yeah. by qoncept · · Score: 5, Insightful

    At my last 2 jobs developers have had security exceptions for local admin rights. The combination of money lost due to wasted time otherwise plus the fact that developers are going to cause less harm than average users is apparently enough to persuade even management.

    --
    Whale
    1. Re:Yeah. by Aeros · · Score: 4, Insightful

      In my current position and also the last company I worked with we had this policy in place. What they ended up doing is giving us two user accounts, one was low-level which was our regular account then a high-level that we switch to when we needed local admin rights for doing installs. Seems to work out fine and I hear alot of companies operate this way. It is a pain to switch back and forth but it satisfies all parties and I am able to get my work done.

    2. Re:Yeah. by Z34107 · · Score: 2, Insightful

      What they ended up doing is giving us two user accounts, one was low-level which was our regular account then a high-level that we switch to when we needed local admin rights for doing installs.

      This seems to be what Vista's UAC is perfect for! Just type in your password when you want to install something on your limited account...

      </troll>

      --
      DATABASE WOW WOW
    3. Re:Yeah. by galego · · Score: 2, Insightful
      At my last 2 jobs developers have had security exceptions for local admin rights. The combination of money lost due to wasted time otherwise plus the fact that developers are going to cause less harm than average users is apparently enough to persuade even management.

      I think there's validity to that ... for most semi-responsible developers.

      However, if you are programming with security exceptions, you are likely to develop things that have/require more security exceptions (e.g. you must be admin/dbo/superuser/root to run it). It's not going to happen just because you're running as admin ... but it becomes much easier to do so ... unless you have pretty rigorous testing specifically targeting other user types. My team all has regular user accounts on their desktops and we do just fine. A couple of us (me as lead) have admin rights to maintain the system (we have a duplicated network/environment to do our work), install stuff etc.

      Why propagate the Microsoft development model of must-be-admin-to-run-the-software?>

      --

      Que Deus te de em dobro o que me desejas

      [May God give you double that which you wish for me]

  3. You damn well should by QuoteMstr · · Score: 4, Insightful

    Any developer who can't competently administer his own machine is incompetent. The kind of rigorous thinking required is identical. I'd be highly reluctant to work at a place that didn't let me install and manage the software packages I needed to do my job. I've used hundreds of small programs to help me in my work, along with kernel debuggers and other tools that require administrative privileges. Having to ask for approval and installation assistance for each of them would have been impractical.

    If you're worried about developers screwing up their boxes, why aren't you more worried about these developers screwing up the their code?!

    1. Re:You damn well should by TheRealFixer · · Score: 4, Insightful

      Any developer who can't competently administer his own machine is incompetent.

      You'd think that would be the case but, in my experience, I've known a lot of extremely talented developers who had absolutely no clue about how to manage their own desktops. Didn't understand basic networking principles or basic OS functions and dos and don'ts. That being said, I still would give them admin rights to their own workstations. Otherwise I'd be spending my whole day installing a billion apps for them that they need to test or develop with, and that also ends up being a waste of their time having to wait for me. But I also have the expectation that they're probably going to need some additional care when they mess something up.

      But admin access to production servers, absolutely not. I've seen way too many scary, scary things happen when developers are given unrestricted access to production systems.

    2. Re:You damn well should by ckaminski · · Score: 3, Insightful

      Because it's not a developers job to worry about day-to-day administration of their systems, and any one of those 100's of tools you download and install could be a trojan in disguise. If your software runs in an unprivileged fashion, it's less likely to cause rampant widespread damage.

      And unfortunately, most developers have little regard for the difference between USER and ROOT (or equivalent). Until we bash them over the heads about it.

      Concern for code is appropriate, but irrelevant. Too much requires root or equivalent access in todays day and age.

      Give me a shell on a unix machine somewhere with a compiler, and I can guarantee almost nothing I do will compromise the integrity of said machine... up until I run sudo somethingorother

    3. Re:You damn well should by Kyril · · Score: 3, Interesting

      I would disagree -- the more years I spend programming the less I remember about system administration. I can do basic setup tasks, but fiddling with Active Directories and stuff like that is beyond what I care to learn and has been for what, a decade now?

      At an Ancient Telecom company most folks don't have admin rights (and shouldn't) but there is an exception process developers follow, and otherwise the Company-approved packages don't need admin rights to install, plus the help desk has powers.

    4. Re:You damn well should by Deorus · · Score: 4, Insightful

      How can a competent developer not understand operating system concepts?

    5. Re:You damn well should by mcfedr · · Score: 2, Insightful

      but if a plumber cant maintain his toilet, thats when he's incompetent as a developer there are many testing scenarios when its easier/quicker/only possible by being root, and the need to install and use lots of software means needing someone else to do that gets annoying, and if a developer can't spot virus ridden software who can...

    6. Re:You damn well should by nine-times · · Score: 4, Interesting

      Any developer who can't competently administer his own machine is incompetent

      As an IT person who has supported developers, that makes me think that I've only met... like... 2 competent developers ever. Almost every developer thought he could administer his own machine, but very few did a good job at it.

      As I see it (and maybe this is BS, but I'm saying it anyway), part of the problem is an issue of mentality. Developers seem to want to think about what *should* happen. Like "Oh, well installing this *shouldn't* make a difference. Changing this setting *shouldn't* make a difference." As though computers all make sense and work the way they're supposed to. In my years of doing support, I've come to the opinion that this is a very bad support mindset. Computers almost need to be treated as magical boxes possessed by evil spirits which might stop working if you anger the computer gods.

      And I know, if you're a developer that probably sounds utterly silly and you think I'm a bad support guy. But you see, that's my whole point. Developers tend to have a different mindset. Computer stuff breaks all the time for no reason. Hard drives die, motherboards get fried, and monitors burn out. Sometimes enabling a setting will break your computer in some completely unrelated way. Yeah, yeah, there's a valid scientific reason. If I had access to the source code and I was a master programmer and I had all the time in the world, I could probably figure out exactly what was going on and fix it for real. But for my purposes, I just need the thing to work right now so my user can get back to work. For my purposes, for right now, it's good enough to assume that enabling the setting upsets evil spirits and angers the computer gods. It means "leave that setting alone."

      It seems like every developer/administrator I've met wants to ague with that. They want to say, "But that setting *shouldn't* make a difference. Computers only do what they're programmed to do, so I just have to reprogram it right now." All that may be true, but as the support guy, you don't always have time like that. Sometimes you just have to blame the computer gods and move on.

    7. Re:You damn well should by gemada · · Score: 2, Insightful

      because IT does not equal programming or vice-versa

    8. Re:You damn well should by TheRealFixer · · Score: 2, Insightful

      Because it's not their job, or their area of expertise.

      As a case in point, here's an example I dealt with a while back. One of the best developers in the company was having issues with Remote Desktop on his XP machine. He got tired of it, so he installed VNC server instead, so he could remote into it from his other workstation. And he set it up without a password, because he didn't want to be bothered to enter it every time he connected. And in order to get it to work, he disabled Windows Firewall. Oh, and this was a laptop, that he occasionally took on the road and connected to public WiFi, like in hotels, airports, and such.

      Now, on the one hand, you can say he was very competent in operating his workstation. He knew how to install software. He knew how to configure said software the way he wanted. He knew how to change OS settings to make sure his software worked the way he wanted. He did all this without having to contact anyone else for support. On the other hand, he completely opened up his laptop to attack because he didn't understand security concepts and didn't see the bigger picture beyond his own needs. But he was a fantastic developer, and one of the top performers in the company.

    9. Re:You damn well should by r7 · · Score: 2, Insightful

      How can a competent developer not understand operating system concepts?

      Operating system concepts are one thing, systems administration is quite another. Most competent engineers can install and configure software given a package management interface but few can manage a system, including their own desktop. Every instance I've known where developers had root/administrator access they regularly screwed it up.

      SA and ENG are both full time disciplines and nobody can do both well. Sure they think they can, but auditing their systems/code tells a different story.

      And therein lies the problem with being an SA. Everyone thinks they can do it regardless of training or experience. It's like engineers programming themselves and their companies into dead end, high maintenance, dependency handicapped, unreadable code hell. Cleaning up takes lots of time and money whether the mess was created by an SA or an engineer. Badly designed systems, like badly designed code, has derailed many an otherwise promising application and business and will continue to do so wherever developers act as administrators and visa-versa.

    10. Re:You damn well should by Darkness404 · · Score: 3, Insightful

      Thats why you do the sane thing and you know, isolate those systems. Guess what? Development boxes aren't mission critical, if 5 of them go down you just shrug and run to the local computer store and buy the components or a new system for them. Usually development systems are a bit faster than the typical workstation (you don't want http://imgs.xkcd.com/comics/compiling.png to happen do you?), but can usually be hacked together from spare parts and not maintain uniformity that is critical for the rest of them. In general, other than software development stuff, not much else should be saved on a development machine. Same with testing. The way its set up for me (and I helped design some of it) is there are three classes of machines: Development, Testing, and Typical. On development machines they usually have generic, cheap and fast hardware, nothing saved onto the computer thats important, and developers have total admin rights over it, but they are isolated on a different network. Testing machines have the same hardware as the typical machines, the typical developer does not have admin rights except to install pre-approved things, and its hooked up to a network very similar to the one the typical machines are on. This lets us test patches, new software and other things before doing a company-wide rollout. And typical machines all have identical hardware, no admin rights for the users, and are hooked up to our main network.

      --
      Taxation is legalized theft, no more, no less.
    11. Re:You damn well should by StripedCow · · Score: 2, Insightful

      For example, I can imagine that a 3d graphics guru is just not that interested in basic legacy networking stuff (most of the networking abstractions are ill-designed anyway, from a modern perspective)

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    12. Re:You damn well should by AnodeCathode · · Score: 3, Informative

      We allowed our developers to have local admin access. In exchange, their machines were located on a separate VLAN and all communication routed through an internal firewall. This allowed these uncontrolled machines to do what the developers wanted, but allowed us to easily shut them down in an outbreak. It also gave the developers easy access to logging their traffic and understanding exactly what would be required to have applications run in a restricted environment.

      For production systems, the developers had separate admin accounts that would be granted the required access to a system with a logged change request, time limited.

      It works reasonably well. Of course the developers could just plug into a non-restricted port, but of course, this is better managed through policy than technology.

    13. Re:You damn well should by Savage-Rabbit · · Score: 4, Informative

      ...admin access to production servers, absolutely not. I've seen way too many scary, scary things happen when developers are given unrestricted access to production systems.

      IMHO:

      • Development should be done using dedicated development systems that replicate the production environment. I have seen way to many problems and delays arise because the developer's setup on his personal laptops didn't exactly replicate the productions deployment environment.
      • The development machine-pool should have it's own admin who's **only** role it is to service those development machines along with the version control/collaboration suite/bug tracking/etc... servers and development should never be done on live systems if it can be avoided. You need dedicated admins for the development machines because otherwise dozens of developers with root access will turn them into a godawful mess in no time flat.
      • Developers should have root access to their own personal workstations/laptops.
      • Developers should not have root access to development systems.
      • Developers should never, ever, ever have root access to production systems.

      I have worked in various places that had strategies ragning from what I just described and to developing-on/deploying-to live productions systems (with all the irate customers due to regular downtime caused by unexpected bugs which that entails). One place I worked at didn't allow developers admin rights on what development systems they had, they were too cheap to cough up for enough development machines and whenever (rarely) they did overcome their sense of thrift it took a week (if you were lucky) to get the machine up and working. The work had to be requested through proper channels, approved by a management committee and then performed by a bunch of overworked IT gnomes that also had to service several hundred workstations and a huge productions server-pool. We didn't even get to be Admin on our own Windows (by management mandate) laptops. Getting a port opened in the firewall on your own Windows workstation had to be approved by a security committee at management level. You can imagine how long that took. Needless to say most people solved these problems by setting up their own development environments. The result was a whole fleet of rogue machines. Every desk had 3-4 computers under it and workstations were regularly taken off the Windows domain by developers or Windows it self was simply quietly replaced with Linux. It was the only way to get things done and even then the pace of work was glacial.

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    14. Re:You damn well should by mcmonkey · · Score: 2, Interesting

      There's really two different issues. Reboot (or do anything to) a production server? Change ticket with approvals. Although in the best case developers should have no access to production. Updates should be packaged and passed off to a deployment team. (After QA and testing of course.) Reboots are handled by the infrastructure team managing the servers.

      But for my personal workstation and sandbox servers outside of the formal path of changes from test to prod? If I needed any sort of approvals to make changes in those systems, I'd never get anything done.

    15. Re:You damn well should by kbielefe · · Score: 2, Insightful

      How can a competent developer not understand operating system concepts?

      There's a difference between aptitude and practical skills. I know more about the software for helicopters than pretty much every pilot, but that still doesn't mean I can safely fly one. Nor does it mean I'm incapable of safely flying one. I just haven't learned the practical skills.

      Same goes for system administration, especially if like me you use a different operating system at home than at work, and are developing for a third, embedded, operating system. Sure, I can and do install the software I need for my work, but I have no idea of the best practices to protect against malware and other threats, maintain backups, and maintain a consistent configuration across hundreds of computers in a Windows enterprise setting. I could muddle through, and it wouldn't take long to become competent if I had to, but it's simply outside of my purview and interest right now. I won't insult those for whom it is in their purview and interest by pretending it's possible to become competent at their job without even trying.

      --
      This space intentionally left blank.
    16. Re:You damn well should by HikingStick · · Score: 2, Insightful

      You hit on a major point. I don't know of any IT help desk or Tier II group that want's to be responsible for installing multiple packages, often multiple times a day. Where major headaches come into play is when, along with the "no admin rights" mantra, you get execs who start chanting "approved software packages only". This works fine for the typical desk drone, but it does not work for most developers, or even for some power users in other industries (e.g., CAD designers in manufacturing). When you start forcing every install to be reviewed, tested, approved, and installed by IT, you have a recipie for a never-ending traffic jam. Developers who are on a deadline can't wait a week until the IT support folks have time to come and install one debugger or supplemental tool.

      --
      I use irony whenever I can, but my shirts are still wrinkled...
    17. Re:You damn well should by MightyMartian · · Score: 4, Insightful

      That's not an example of a developer who doesn't understand OS concepts. That's an example of a moron who should be shown the door with extreme prejudice.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    18. Re:You damn well should by McGruber · · Score: 2, Funny

      How can a competent developer not understand operating system concepts?

      They're "web developers"

    19. Re:You damn well should by ThrowAwaySociety · · Score: 2, Insightful

      Wow, what a bunch of morons. In addition to hiring people that understand you just can't do that kind of stuff, my company has controls in place to prevent it. Want to reboot a production server? You need a change ticket, approval and you're going to be doing it during the maintenance window unless it's an emergency. Gotta do it? Call it an emergency and explain yourself later. Can't? Find another job.

      Nobody is talking about production servers. Not even testing servers. We're talking about developers' own workstations, and possibly development servers.

      If your developers can't be trusted in their own environment, then you need to find better developers.

    20. Re:You damn well should by bwcbwc · · Score: 4, Insightful

      WTF? It IS a developer's job to worry about system security from an application implementation perspective. It IS a developer's job to understand the operating system well enough to understand the best way to use the operating system's APIs and services. It IS a developer's job to understand what software is on their system, because that software could be interacting with the program they are developing. This knowledge alone makes them more competent to administer and manage their own PC than your typical COE support person. On top of that, they need the access to do their job.

      1) Developers should have local admin rights on their machines
      2) Apart from automated software updates for standard anti-malware and office tools, the developer should install and maintain the tools required to do their job.
      3) The developer should not require access to the normal helpdesk support for issues local to their PC.

      On the other hand, as posted below, there is no reason a development machine can't be isolated from the local network, or else the local admin rights can be granted to a local-only user that does not have access to the network. If your company doesn't want to provide developers with two separate computers, limit the network access to a non-admin user. Under *nix, Vista or Win 7 the developer can sudo or invoke the local admin user to install software and perform administrative tasks required for software development.

      Heck you can even force developers to develop inside a virtualized environment in a VHD image, but they'll still need admin rights within the virtualized system. Your testers, even moreso.

      --
      We are the 198 proof..
    21. Re:You damn well should by Daishiman · · Score: 4, Insightful

      Because knowing OS theory doesn't make you an OS specialist dedicated to implementing good practices on production systems. Even a kernel dev might not know how to install and deploy a production system and implement all backup, user, and processing policies.

    22. Re:You damn well should by Dr_Barnowl · · Score: 2, Interesting

      As a developer, the only things I pester IT support for are things that I literally cannot influence, like permissions on servers I don't administer, poking holes through the firewall, etc.

      Developers probably get into worse scrapes than the average user. Recently I had to have my Master Boot Record restored by IT support because policy forces us to use a full-disk encryption product that has a custom MBR. The average user would not have been booting Linux from an external drive and would not have run a badly-designed update that hosed the MBR on the main system disk instead of the disk the OS booted from.

      On the other hand, the amount of time I've saved IT support by advising users, fixing my own problems, and fixing things they just plain broke in the first place, more than makes up for the odd difficult support incident I cause. Hell, I like to think dealing with my problems is a break from the old routine of "Uh, yeah, I forgot my password."

      I think a certain proportion of the bad reputation they get is having to enforce the bone-headed policy that the upper echelons think up. But a certain proportion is due to them hiring part-time graduate chair-warmers to man the lines and provide a human interface to the "support script".

    23. Re:You damn well should by mcmonkey · · Score: 4, Insightful

      Wow. The scariest part of your story is people think this guy is a top performer.

      Now, on the one hand, you can say he was very competent in operating his workstation. He knew how to install software. He knew how to configure said software the way he wanted. He knew how to change OS settings to make sure his software worked the way he wanted. He did all this without having to contact anyone else for support

      Really? So 1) he owns the company? Or is the president or CEO? If not, why the fark should the world revolve around the way he wants his system to work?

      2) Why is it a good thing he can get his system to work the way he wants, when he wants every hacker on the planet to get in to your company's systems through his laptop? And if that's not what he wants, then his software is not configured the way he wants.

      Seriously, this guy is a menace. I can grab a chain saw and rip open someone's chest, that does not make me a competent heart surgeon. Yes, this guy made changes, but in no way should anyone say he is competent in operating his workstation.

    24. Re:You damn well should by Roogna · · Score: 3, Insightful

      And a developer that would make those choices when installing software on his machine, is -also- a developer that will leave wide open holes in the software he's developing for you. After all, he's obviously straight up lazy. So all I'm getting from this is that while he put out more LoC than your other developers, they were most likely buggy insecure junk.

    25. Re:You damn well should by Carewolf · · Score: 2, Interesting

      It seems like every developer/administrator I've met wants to ague with that. They want to say, "But that setting *shouldn't* make a difference. Computers only do what they're programmed to do, so I just have to reprogram it right now." All that may be true, but as the support guy, you don't always have time like that. Sometimes you just have to blame the computer gods and move on.

      As a developer I totally disagree with your mindset, but I love the conclusion. Don't waste time on problems you don't have time to solve.

      Btw. I think many young developers share your viewpoint: At the university I tought kernel programming. The rack that contained the test machines, was over the years slowly transformed by the students to a shrine for the Alpha gods (they were Alpha PCs). The students for many years had to walk up to the rack to reset a machine if they had fucked the machine up beyond remote control, and when they did they left sacrifices to the Alpha gods, in hope their next kernel wouldn't FUBAR nearly as bad. Still it was their assignment, they had to figure out what went wrong sooner or later, but sacrifices was the first step.

    26. Re:You damn well should by Anonymous Coward · · Score: 2, Insightful

      As a case in point, here's an example I dealt with a while back. One of the best developers in the company was having issues with Remote Desktop on his XP machine. He got tired of it, so he installed VNC server instead, so he could remote into it from his other workstation. And he set it up without a password, because he didn't want to be bothered to enter it every time he connected. And in order to get it to work, he disabled Windows Firewall. Oh, and this was a laptop, that he occasionally took on the road and connected to public WiFi, like in hotels, airports, and such.

      I think this is what Deorus was referring to. If a developer does not understand the implactions of the changes he or she is making to the system (including disabling the firewall), then they are likely to be lacking in the understanding of how their code impacts the systems it runs on. If the application touches the network, then the level of understanding needs to now include a lot more than simply how to compile the app without errors.

    27. Re:You damn well should by curunir · · Score: 2, Insightful

      I think you've somewhat correctly identified the what while incorrectly attributing it the the why. As a developer, I have less fear of changing things or breaking things not because I feel that things should work in the way I expect, but, instead, because I have confidence that I can fix things if/when they become broken. Sometimes it takes some Googling, but I can't think of a time where I wasn't able to fix a software issue. This mentality applies not only to maintaining a system, but also to doing our jobs. Refactoring code is quite often an exercise in breaking it and fixing it in a more correct fashion.

      So yes, I think we're much more likely to fiddle with settings and in the 95% case where it does what we expect it to do, no one notices. But that last 5% of the time where something unexpected happens, our minds are conditioned to work through the problem and fix it. We're not the email/web/office users who get scared when things stop working as expected. We're the ones that, in that situation, get curious as to what's going on and see it as a challenge to overcome.

      But the one thing I can say with a certainty is that when restrictions are placed on my ability to maintain my own machine, I suffer far more down time in dealing with those restrictions than I do when I have complete control. It's why I won't work in a large, corporate environment anymore.

      --
      "Don't blame me, I voted for Kodos!"
    28. Re:You damn well should by nine-times · · Score: 2, Insightful

      Well of course I don't literally believe in "computer gods", but on the other hand I think superstition sometimes gets a bum rap. Is it bad luck to spill salt or break a mirror? If you live in a society where mirrors and salt are expensive, then it sure is. Even more so with breaking mirrors, since it leaves little shards of glass to cut your feet on. It's also a pretty idea to walk under ladders, given that you might knock it over (hurting the guy on the ladder) or the guy on the ladder might drop something (hurting you).

      My point, really, is that sometimes your knowledge isn't as important as your habits. If you know why you shouldn't walk under ladders and you do it anyway, you're more likely to get hurt than if you just don't walk under ladders because you think it's bad luck. Similarly, if your IT guy says that a certain computer "doesn't like it" when you do a soft reboot, then you might just want to go ahead and do a hard reboot. Maybe he's being superstitious by anthropomorphizing the computer, but that doesn't mean his advice is bad.

    29. Re:You damn well should by Anonymous Coward · · Score: 2, Insightful

      Dude that is TOTALLY contradictory and if you can straighten it out the rest of the class would like to know how...

      You go on a rant about how it is important to do. Then turn around on a rant on exactly WHY you need to trust your help.

      This company I currently work with I have been there for years and already have the privs I need. But we just hired a new guy. Extremely good at what he does (having worked with him before I know this). However he hasnt coded 1 line of code in 2 months on his 'real box'. He is waiting on management to decide he can have dev programs on his computer. Just last week he finally got the privileges to do it. My direct management is NOT happy about this. And well they should be right pissed off about it.

      In the mean time we gave him an unmanged computer to do his work. This creates a natural 'grey net' in the real network. Having managed my own networks in the past 'grey nets' are the worst breeding grounds of worms and viri. As they are always out of date as the people setting them up forget to update them (yeah you know that VM you set up 2 years ago with the copy of NT4 on it and no virus/firewall/updates on it). When IT is in the way of getting things done IT is the problem, creates a 'we vs them' mentality, and creates a computer management nightmare. People will work around the problem. One place a friend of mine he 'worked around the problem'. He got shown the door. Companies that put these policies in place are saying that the policy is more important than getting work done. I am not saying policy is unimportant. But you can go overboard with it and eventually your workers either walk or work around it.

    30. Re:You damn well should by NocturnHimtatagon · · Score: 2, Insightful

      I have to use a kernel debugger for my job as a developer (The brown-out wasn't working). Security is gone by adjusting a register.

      How about this: I won't do this on production server or whatever machine that's critical, and you leave me to do my job.

    31. Re:You damn well should by keean · · Score: 3, Insightful

      If the developer does not understand basic computer security, then their code is probably full of the same problems. To write secure code, you have to understand security.

  4. Generally, yes by PIPBoy3000 · · Score: 3, Funny

    We're local admins of the application servers, and a couple of us have domain admin rights. We generally haven't run into problems with this, as we have a strict policy of making fun of anyone who screws up badly. It involves Photoshop and is generally a memorable way to resolve the situation.

  5. Yes, because I'm not a masochist by Knara · · Score: 2, Insightful

    In the Windows world you can override other things using GPOs, but it's too much of a pain from the admin side (I've found, as have my coworkers over the years) to try and lock down developer machines by removing local admin rights. I've got better things to do than schedule up a time to install things via an account with local admin rights every time something new comes along for them.

    The flip side is that they have greater responsibility for maintaining their desktop/laptop systems. If it gets screwed up enough, they know they're getting the thing re-imaged with the company standard desktop image and will need to reinstall their tools they use for their personal dev environment.

    Works out pretty well, aside form the devs that install absolutely everything they come across, "Oooh that looks cool! [installs][never uses again]". They can be a pain.

  6. Yes by Alpha830RulZ · · Score: 3, Interesting

    We maintain a development network and a QA network. The dev and QA teams have admin on the server machines in these networks. This is useful/necessary because we are constantly spinning up and tearing down virtual machines for various scenarios. Devs have local admin on their workstations. In general this has worked fine, except for one moron who used the privilege to turn off her virus scanning.

    Production is subject to more structured control in theory, but in practice, I and another couple of guys have /sudo/root on the prod machines, because our corporate admins don't want to learn enough about the software to be useful. So much for PCI...

    --
    I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
  7. Re:Hell no. by JohnFluxx · · Score: 3, Insightful

    What has that got to do with LOCAL admin rights?

  8. Conflict of interests by node159 · · Score: 2, Insightful

    LOL! Giving developers admin access to production machines is like giving grenades to babies, its only a matter of time.

    Ultimately it comes down to a conflict of interest between developers who's interest is to changes things (new features, new version, etc) and admins who's interest is not to change things (SLA's, guaranteed uptime, don't touch a working system).

    If this conflict is not properly balanced (dev's with fingers in production, admins controlling the dev environment), you will have problems and usually ends up being a very costly mistake.

    --
    GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
    1. Re:Conflict of interests by node159 · · Score: 3, Insightful

      In addition, as a developer I NEVER want to know root passwords for production systems, as this only means two things, support calls and being on the short list for the which hunt when something enviably goes seriously wrong. There is nothing quite as cover your ass as 'I never had access'.

      --
      GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
  9. Re:What? by unixguy43 · · Score: 5, Informative

    As an admin, I've supported both types of environment. Depending on what the development project is, sometimes it's just better to allow the developers to have full admin rights in order to add compilers and other development tools required for project completion. The developers were responsible for all O/S issues related to installation of non-standard development tools, but would rely on the sysadmins for hardware support, as the service contracts were part of the corporate global service contracts. There's no easy answer on this one, and it pretty much depends on company policy around allowing admin access to non-admins. Personally, as an admin, I prefer to maintain control of what is installed on the systems under my umbrella, as it makes patching and upgrading easier when I know what's already there, and what dependencies are required.

  10. Virtualization is your Friend by wwwillem · · Score: 5, Interesting

    In modern times, I would give them no admin rights on the box itself, but you could provide virtual machines for them on which they can do whatever they want. The argument that they need to do things that "really, really" :-) require access to the bare metal, doesn't hold anymore, because the applications they are building will anyway need to be able to run in a virtualized environment.

    I've done many audits and project plans on this topic in the past, and the issue is always that developers are split personalities: on the one hand they are standard corporate citizens that need email, calendar and word, which must be rock solid and therefore IT controlled, on the other hand they do their development work that requires freedom over their box. In the past the best solution was always to give them two PCs (or a thin client for the standard desktop work), but today I would solve this all through virtual machines.
     

    --
    Browsers shouldn't have a back button!! It's all about going forward...
    1. Re:Virtualization is your Friend by zzyzyx · · Score: 2, Insightful

      The argument that they need to do things that "really, really" :-) require access to the bare metal, doesn't hold anymore, because the applications they are building will anyway need to be able to run in a virtualized environment.

      Why do so many admins seem to think that you don't need more tools to develop an app than to run it? You may not need that screwdriver to run your car, but you really do need it to assemble it.

  11. I'm of two minds by Anonymous Coward · · Score: 3, Interesting

    On one hand, yeah, of course developers should have admin rights on the machine (i.e. local).

    On the other hand, I think Windows developers should have to operate as non-admin users as much as possible so that they will realize their software won't work properly when run as a limited user. It's a perennial problem with Windows software, although it is getting better.

    So, yes, they should have access to it, but discourage its use except when necessary. No running as admin all the time.

  12. It's Target. by girlintraining · · Score: 5, Interesting

    I'm going to end some mystery here: I am guessing the "very large corporation" is Target, a massive US-retail chain. I only know because I used to work on support there, and they tried this crap with trying to delete local admin rights for everyone so nobody could administer their own boxes. Even Microsoft told them this was a bad idea, and you can't remove local admin from a system because it's fundamental to the security model. It was so painful watching the daily e-mails come back from amongst IT and then once every week or two see a management e-mail so loaded in buzzwords I printed it off and hung it on my cube wall next to a train wreck picture and left my coworkers to do the math. They went ahead and tried it anyway -- I've watched whole stores, departments, and even divisions just drop off the network because they rammed some security change through, didn't test it thoroughly -- and now some application is seriously wedged. The days and days of downtime are due to convincing infosecurity that there's a problem and then fixing it -- because they're autonomous to the rest of support and report directly to the board. Which means, no matter how bad they f*** up, it's your fault, not theirs, because they each think they're Agent Smith, saving the corporation from the disorder of computational devices. *face palm*

    I feel your pain. I do.

    The sad part is, this isn't just that corporation: It's most Fortune 500 companies. Management is so far removed from the IT process that the only input they get is from external sources: Trade magazines and consultants. This, of course, ends in tears. These are the kind of people that read that pen drives are the source of all evil on their network and if you just delete the USB mass storage driver from the system, your problem is solved. I don't know which trade magazine published this idea -- but when I find him, I'm going to end him. Again, not a problem specific to that company -- it's representative of what everyone finds in the field today.

    Since corporations with this level of brain damage inevitably give developers underpowered systems, here's your solution: Cannibalize another system, make sure you've got a few extra GB of RAM, and install an virtual machine, then do all your development within that environment. Site licensing is a wonderful thing. Just don't ever join it to the domain and shuffle your test files in and out via a temporary share. Even better, find a standalone system and use that for development so corporate can have their ridiculous security on one system, and you have an unencumbered development platform to develop for and transfer completed work back to the main system.

    It's stupid, and you should never have had to do it. But then, what about working for a large corporation is ever simple? So many people trying to ensure they're a crucial part of the business, so few who actually give a damn about it...

    --
    #fuckbeta #iamslashdot #dicemustdie
  13. "Standardization" by Nerdfest · · Score: 4, Insightful

    Organizations that treat developers like standard "business" users are going to get systems developed as well and as fast as those created by standard "business" users. A developer needs at least elevated rights on a workstation.

  14. Re:Under no circumstances by bigstrat2003 · · Score: 2, Insightful

    The key word was local. He wants to know if he should give his developers admin rights on their machine, not to the entire network like you're talking about.

    --
    "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  15. What it REALLY comes down to by Anonymous Coward · · Score: 5, Insightful

    Here's the thing... Why the **** does windows program installation basically require files be installed any place other than locally. That's the entire problem. The entire design of windows is to install **** under system32 or program files when it doesn't need to be there. I remember the old days when programs ran under one directory. Easy to maintain. You know where everything is. To uninstall is simply to delete. Don't get me started on the registry. REALLY? You're telling me it's "faster" than reading a text file config. Hardly. ARE YOU HEARING ME MICROSOFT? Why the **** do you even need admin rights? YOU DON"T!!!

    1. Re:What it REALLY comes down to by bakuun · · Score: 3, Insightful

      Here's the thing... Why the **** does windows program installation basically require files be installed any place other than locally. That's the entire problem.

      For the same reason that most other operating systems, including most flavors of linux, requires admin rights to install software. There are reasons that you want the operating system to be aware of when software is installed. One good advantage of this (in the Windows world) is the add/remove programs section under the control panel, where you can view all installed software, how large they are, and easily uninstall any of them. Another advantage (this time from linux) is system-wide updates of all installed software.

      The entire design of windows is to install **** under system32 or program files when it doesn't need to be there. I remember the old days when programs ran under one directory.

      Yeah, one directory, like... "Program files"? Every program installs to Program files by default, although the user is free to change this of course. How does it work in linux? Well, if you install something parts of it can go in /usr/bin, parts go in /etc, parts in /usr/lib, some in /var/.../

      You know where everything is. To uninstall is simply to delete. Don't get me started on the registry. REALLY? You're telling me it's "faster" than reading a text file config. Hardly.

      I don't know if it's faster - it might be, or not. It probably doesn't matter a great deal anyway - it's not like it's a lot of data. I doubt it's slower, though. The windows registry is a hierarchical system of configuration settings (with parts that are global for the machine and parts that are local to the user), and /etc is a hierarchical system of configuration settings (contained in text files)... Where's the big difference?

  16. yes by pak9rabid · · Score: 3, Insightful

    The entire development team where I work has full admin privileges on their local workstations. Not giving them that would be disastrous for productivity...

  17. Information Security 101 by Reason58 · · Score: 2, Informative

    No one should be running an administrator-level account for day-to-day work. It's a huge security risk. If there are tasks that absolutely require administrative rights to do with no workaround (rarely) then you create an administrator account that they log in to for that task only, then log back on to their normal account.

  18. Yes in DEV, No in TEST and PROD by garyisabusyguy · · Score: 4, Insightful

    It is a huge pain in the ass to do development without local admin rights.

    HOWEVER, it is a huge cluster fuck to implement in PROD because your permission levels all have to be reconfigured to fit any rational security model.

    I have found that denying developers local admin in the TEST environment is a good way to shake out any implementation nightmares

    --
    Wherever You Go, There You Are
    1. Re:Yes in DEV, No in TEST and PROD by cayenne8 · · Score: 2, Insightful
      Hmm...what are these DEV, TEST and PROD environments you speak of?

      Hehee...honestly, and a LOT of this was govt work, so many (I'd dare say MOST) projects I got onto, you basically had one box they gave you, you developed on it...and when it got to a working state..voila!!

      It then became the production box.

      The lesson I learned from this? Make damned sure to order the most amount of hardware you can on a govt/DoD project, cause you likely won't get any other boxes anytime soon, even if they promise them to you when planning things out at the beginning of a project.

      At least...that has been my experience in that world.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  19. Local admin rights? by SmallFurryCreature · · Score: 2, Interesting

    Why not simply work on virtual machines? Then you know they are clean and you can have all the rights you want and still have comply with company rules.

    In a lot of environments, setting up a good seperation is simply to costly in time, so you either end up with dev's with not enough rights to do their job or to many where they can endanger systems they shouldn't.

    So it should not be needed to have local admin rights, but then the sysadmins got a hell of a job to setup everything so that it is not needed. Most sysadmins simply ain't capable of that, or if they are, are not given the time.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  20. That's what sudo is for by tepples · · Score: 3, Insightful

    if the developers have to develop for a multi user and limited rights user OS they will actually build software that obeys those constraints.

    That's why you use an OS that has a counterpart to sudo, like Windows Vista, Windows 7, Mac OS X, or Ubuntu. You'll still get "permission denied" for apps that you develop, but you still have the right to elevate to run an installer.

  21. Development machines are not mission critical by FranTaylor · · Score: 4, Interesting

    You should treat your development machines as "hostile" and put them on their own network.

    You should do this regardless of security issues because developers can also do stuff like saturate your network.

    And what a great administrator, bashing people over the head because of your own limitations.

    I'm glad you don't administer my development systems.

  22. Worked in Both Worlds... by digitalloving · · Score: 4, Interesting

    One of the mid-sized corporations I worked for did not allow admin access to developers on production machines. The reasons for this has been outlined by some other posts already, but mainly because the server team was responsible for the servers. It was also part of a strategy to meet Sarbanes Oxley requirements for servers touching financial data.

    In order for it to work smoothly, an exact development copy of the production server is required. This is pretty resource intensive in both servers and admins. Second, the deployment of new applications needs to be communicated to the administrators. This took some time depending on the difficulty of the change. Finally, any issues that popped up in the production server that wasn't seen in the development server required "emergency admin access". It usually meant that a server admin and developer sitting at the same terminal working out an issue.

    This method, while not being efficient, forced a couple of best practices. First, because development had to be done a replica of the server, the code was already tested on a server that was identical(as possible) to the original server. Second, because the deployment had to be done by server admins, the developer had to document all the steps required to deploy their application. It let the admins know the changes being made, allowed auditors to see the change, and forced the developer to make an application that was reasonably easy to deploy.

    Overall, I think it lead to a pretty clean production environment with much fewer "surprises". However, any code you want to put into production takes twice as long and cost twice as much (approximately). To truly evaluate if it monetarily makes sense, the cost of a failure/fraud in a production environment needs to be calculated. I don't think it is always better one way or another. Although, as a developer it sure was a pain in the ass.

  23. Yes... well almost... by giltnerj0 · · Score: 2, Informative

    Developers have near admin privileges. Everything is locked down via GPO, and developers are in our own OU.
    We are admins on Development and Production servers so that can we handle application deployment, maintenance etc.

    There are still some functions that we don't have access to, things like the virus scan, HIPS, Desktop validator, Smart card interface etc.

    We can install/uninstall applications etc, but there is a finite list of software we can use, and if we get caught with unapproved software on a computer on the network, we will have a lot of explaining to do... to people with sidearms.

  24. admin rights define corporate culture by stardragon · · Score: 2, Interesting

    I've worked in a variety of situations ranging from developers having root access to all workstations and production servers to having no admin rights on the workstation at all. There's a definite connection between developer's admin privileges and overall corporate culture. The less permissive the workstation environment is for the developer, the less creativity and innovation flows from the organization. I've especially seen this in banks where you're not allowed to install any software without a security officer's blessing. Contrast this with my current company, where each developer is fully responsible for maintaining their machine.

    By depending on each other to understand the OS and learn the best tips and tricks for choosing which tools to use, every developer becomes capable of troubleshooting issues on the production machines. As a result, we takes just one operations / sysadmin person to manage the systems for a 20 person company. Of course, granting that level of permission requires a high level of trust that is often earned over time.

  25. Conversation with the company's head IT admin by PinchDuck · · Score: 2, Insightful

    "You know the company policy, but now I will ask you directly: Do you have any software on your computer that I have not personally reviewed?"
    Yes
    "WHY?!?!"
    Because I write it. It's my job, and I don't have time to submit every program I write to you for approval before I install it on my machine to test it.
    Admin Draws deep breath...
    "AND...that makes sense. OK, you can have admin privileges on this machine".

    I know places that don't give their devs admin privileges. It makes their jobs much harder. Security has to make sense to keep a corporate network safe, not to inconvenience everyone or make their jobs harder.

  26. IT isn't allowed to touch my workstation by ap0 · · Score: 3, Funny

    My company's IT department is totally incompetent. Their solution to everything is whatever Microsoft sells, regardless if it's actually a better choice than another option out there. They don't even give any sort of open source solution a second look. My boss and I (the only two developers at our office) don't have domain logins and administer our own machines. We don't have access to any of the intranet apps, but I've never needed them. We do hardware development so we need admin rights. We administer our own development servers, as well. The NAS thing IT installed failed, and it wasn't backed up anywhere, so the entire office lost their shared and backed up data. Except us, since we knew that would probably happen. We don't trust them to back up our code.

    For the other employees at the office, whenever it's time to update software or install patches, one of the IT droogs calls an employee and tells them they'll be taking over their machine to update it (remotely, because there aren't any IT staff at our office -- they're all at another office). They do this in the middle of the friggin' day. And since they do the updates manually instead of automated updates, they'll take over someone's machine for sometimes hours, so they can't get any work done.

    So, yes, we have local admin rights. We are our own admins since we can't trust our IT department to do things right. We still have a single T1 to the office (actually two, but they don't know how to configure the router properly to get both of them working), and we're told to "schedule" our downloads for after hours so as not to use up bandwidth. I got blocked from the network awhile back for downloading some stuff to do my damn job. No warning. They just blocked the IP, so I'd change it, and they'd block it again. Finally they called me and told me that I need to wait til after business hours to get this 50MB file I need to get my work done.

  27. Re:What? by Javagator · · Score: 5, Insightful
    as an admin, I prefer to maintain control of what is installed on the systems

    That's the way it always is. The admins want to limit control to make their jobs easier, and the developers want full control to make their jobs easier, and never the twain shall meet.

  28. Re:What? by pixelpusher220 · · Score: 3, Insightful

    actually it's usually about the manager's making *their* jobs easier. Having to explain why you need 2 machines (1 prod/1 dev) for a developer and 2 separate networks that need to be segmented and separately secured with separate configurations let alone the expense involved tends to get a big fat 'no' from mgmt. "Just do it the quickest and cheapest you can".

    An Admin is well within his rights to maintain control over what is installed. Remember all the inadvertent leaks of documents because a user installed some file sharing program? That's an admin who didn't have, or wasn't allowed, adequate control over systems under his umbrella.

    Developers DO need full admin rights on their dev boxes. You *really* don't want to be bothering the admin teams with "hey I need to restart IIS and/or reboot my machine" every 15 minutes if you're troubleshooting something.

    the proper solution is separate networks where the developers simply can't cause significant damage by having admin rights. Unfortunately as has been said above, it's just easier to give developers admin rights on their systems without them being on separate networks from production systems.

    --
    People in cars cause accidents....accidents in cars cause people :-D
  29. Compromise by Slashdot+Parent · · Score: 5, Informative

    That's the way it always is. The admins want to limit control to make their jobs easier, and the developers want full control to make their jobs easier, and never the twain shall meet.

    About the best compromise I've ever seen is where admins say to the developers, "You can have local admin rights. However, don't keep anything important on your local disk (use network shares and source control), because we're not going to even attempt to support your unsupported software. If you bring your machine in with a problem, it's getting imaged, and that's that."

    That usually makes the admins happy, because they don't have to increase their workload, and makes developers less likely to bork their machines, because no developer wants to lose a day reinstalling IDEs, etc.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  30. Re: Unauthorized Production Changes by scot4875 · · Score: 3, Interesting

    If your devs had access to make changes to the production servers, then the failure was not with them -- the failure was on the system administrator.

    As a developer, I try to have *no* access to any production system. If you're connected to the prod database server to, say, look something up for a customer (which shouldn't happen -- you should have tools for this -- but it does), it's far too easy to forget that you're connected to prod when you go back to dev-related tasks and accidentally wipe out a table.

    I hate having to be extra-careful to make sure that I'm not in prod. I'd much rather just know that I have no access to production so that I couldn't make changes, intentional or otherwise, at all.

    --Jeremy

    --
    Jesus was a liberal
  31. Re:virtualization by RingDev · · Score: 2, Insightful

    I have 3 IDE's open because most of my work is front end stuff (AJAX/Silverlight), so I'll usually have VS2008 and Blend 3 open. Then if I need to be working on back end services, I'll have another VS2008 open for that. And invariably, someone at some point in time during the day will swing by with a question, debug request, or something else for another app, so I usually wind up with a 3rd copy of VS2008 or VB6 open.

    For our SQL Server stuff I us the VS2008 server explorer, it handles most of the basic functionality I need, but not views, nor the AS400.

    For the AS400 we have a custom .Net app that gives full intellisence, meta data searching, and descriptions in a traditional SQL+ like interface. So if I'm working on anything that hits the AS400, that app is open.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  32. Re:What? by IdleTime · · Score: 2, Informative

    Here is what you need to do: (I also work for a similar corporation with the exact same policies, maybe the same one?)
    1. Install Linux and get it connect to your corp network (I run Ubuntu 9.10)
    2. Install a virtualization environment (My company has a deal with VMWare)
    3. Create a virtual image with Windows which you use to develop on, giving you full admin rights.

    It also avoids any impact of Windows bugs or BSOD's.

    --
    If you mod me down, I *will* introduce you to my sister!
  33. Been there, never going back... by American+Expat · · Score: 2, Interesting
    I worked for a small development company (C++/J2EE on a windows platform) that was bought out by a publishing behemoth, and the IT department idiocy was the primary reason I left. We not only had no administrative rights on our development boxes, but we had a *single* corporate configuration that was pushed out every night. Among the gems in this were:
    • EVERY FILE OPENED was scanned for viruses, including newly created files. C++ compile times went from minutes to many hours
    • Only one socket connection could be opened to any machine. Could not connect a debugger to a web app.
    • Programs on a "dangerous" list were deleted from the hard drive in a nightly scan. Found this out when my wire sniffer disappeared.
    • We could not use torrents or FTP. Had to download ISOs via HTTP

    With these bozos calling the shots, it took less than a year to turn a world-class development shop into a ghost town.

    Like it or not IT pals, developers have to do things on their boxes that normal users should not be able to. If you try and prevent them you will force them to come up with even more dangerous workarounds (tunnels to home boxes, dark nets, etc). If you're worried about security isolate their network, but don't make it impossible to do their jobs.

  34. Re:What? by zoloto · · Score: 2, Informative

    What has worked best for me was when we gave them non admin on their dev boxes but admin on the test machines. These test machines had a "deep freeze" that when they rebooted the machines they essentially went back to a clean slate. It took some getting used to for those who always had admin before, but this ensured a clean install w/o extra software would work on a base system.

  35. Re:What? by syousef · · Score: 3, Insightful

    That's the way it always is. The admins want to limit control to make their jobs easier, and the developers want full control to make their jobs easier^H^H^H^H^H^HPOSSIBLE, and never the twain shall meet.

    There fixed it for you.

    --
    These posts express my own personal views, not those of my employer
  36. Re:What? by dvice_null · · Score: 3, Insightful

    "worked best for me"? I'm sorry, but isn't your job to support the others and make their work easier, not the other way around? Obviously you should make your own work more efficient, but not in the expense of the others. So are you sure your solution has not harmed anyone? "It took some getting used to" sounds like harm to me.

  37. Re:Nope. by bingoUV · · Score: 2, Insightful

    What if the developer is developing that very server? And it needs admin privileges to restart?

    --
    Bingo Dictionary - Pragmatist, n. A myopic idealist.