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?"

605 comments

  1. What? by moogied · · Score: 1, Informative

    We just have a development environment for them. Then once code is ready we copy the most recent backup image of the servers over, they install there, document how, and then our sys admins install. Done and done.

    --
    So basically, -1 troll/offtopic is really slashdots way of saying "I hate that you thought of something before me."
    1. Re:What? by Knara · · Score: 1

      Article submitter was talking about local admin rights (implied on Windows) for their desktop workstations, not servers.

    2. Re:What? by tepples · · Score: 1

      I think moogied was trying to say that yes, they have local admin rights, but they're not on the production domain.

    3. 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.

    4. Re:What? by Anonymous Coward · · Score: 1, Funny

      # LS
      LS-not found

      Yeah, I should have root.

    5. 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.

    6. Re:What? by rayharris · · Score: 0, Offtopic

      At Newegg.com:
      Windows 7 Home Premium Upgrade Retail: $109.99
      Windows 7 Home Premium Full Retail: $183.49
      Windows 7 Pro Premium Upgrade Retail: $179.49
      Windows 7 Pro Premium Full Retail: $274.49
      Windows 7 Ultimate Upgrade Retail: $199.99
      Windows 7 Ultimate Full Retail: $299.99

      At Target.com:
      Wii: $199.99
      Xbox 360: $199.99

      The only full retail version of Win7 that's cheaper than a Wii or XBox is the Home version, and that's only by $16. Most techies are going for the Full Pro or Ultimate version.

      So, where can I get Win7 Ultimate Full Retail for $109? I'd like to get that deal. // Yeah, yeah -1 offtopic...

      So yeah, where can I get a full retail of Uliti

      --
      I void warranties.
    7. 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
    8. Re:What? by TigerLAX · · Score: 1

      In typical and predictable fashion, the Developers think that they NEED full control of everything in order to do their jobs. This has almost never proven to be the actual case, it is just the standard "pat" answer that all developers give because they do not want ANY limitations put on them. There is almost never any regard given to Best Practice and Enterprise Standards for security and configuration creep by developers. They tend to download whatever they feel like downloading onto production servers. Surprisingly, I have know very few developers that "prefer" to operate in a defined, locked-down, and structured change management system. Most developers I have dealt with do not draw much distinction between a dev environment and a prod environment. They tend to do whatever is convenient for them and create absolute chaos and security issues. This, of course, does not apply universally, but it has been the case with most developers I have worked with in my 20 years of engineering experience. Most developers love to operate with autonomy and as if they are in a small mom and pop environment. Only the true development professionals that I have worked with understand how structure helps them and the enterprise, rather than viewing "rules" as an enemy in the way of their ability to get the job done. Giving local admin rights on production servers is the lazy way to accomplish what needs to get done. Developers need to understand that it is the Engineers and Admins duty to protect the enterprise and maintain viable recovery point objectives. In a true enterprise, It should not be the wild west, where the developers are the gunslingers doing whatever they please.

    9. Re:What? by Carewolf · · Score: 1

      Which any developer should have. No admin in their right mind wants to admin a developer workstation. It is unrelated to all other administration and much more complicated, not to mention unnecessary. Take an extreme example; some developers are also working on new admin tools. This means the computers used for testing and development are using different admin software than everything else. The admin shouldn't have to deal with new buggy admin tools until they are finished, except possibly as a user test.

    10. Re:What? by ae1294 · · Score: 1, Informative

      # LS
      LS-not found
      Yeah, I should have root.

      We have renamed LS to listthedirectory to make it harder on hackers, please make a mental note, but not a damn yellow sticky.

      Also root is now called ~!ExtremeAdminAccount!~ (case sensitive, please use this when logging in via telnet from home.)

    11. 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!
    12. 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.

    13. Re:What? by multi+io · · Score: 1, Insightful

      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.

      Why would you need admin rights to restart IIS? I did Enterprise Java/J2EE development on SunRay X11 terminals for some years, never had admin rights on the connected server (X11 client) machines, and still regularly restarted and even installed and updated complete multi-tier Application servers, of which the web server was only a small part, in my home directory... Now I wouldn't say that that was an ideal development environment, but I rarely missed admin rights. In fact, if you think about it, there aren't many things that are intrinsically "admin-only". Installing software or restarting server processes should not be one of those things.

    14. Re:What? by Anonymous Coward · · Score: 0

      The real nightmare IMO comes from the poor programming that comes from them if they have admin rights.

      I got applications left and right that REQUIRE admin rights to the PC to even load.

      I've had to manually user procmon to see what exactly the application is trying to access, be it a registry editor or it needing full control to some file in the system32 folder... (WHAT THE FUCK?)

      I wont even get into the part where the UI takes 20 seconds to load because it seems to load images of "report 1" "report 2" for the buttons.

    15. Re:What? by spikedvodka · · Score: 1

      This is where virtual machines shine! you have your "standard" image production machine, and then the virtual "development" machine. Devs have local admin rights over the virtual machine, and snapshot functionality makes reverting a snap (no pun intended) if anything goes wrong.

      --
      I will not give in to the terrorists. I will not become fearful.
    16. 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
    17. 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.

    18. Re:What? by Anonymous Coward · · Score: 0

      Did you just say that installing software and restarting server processes should not be considered to be "admin-only" things? Security includes being secure from unauthorized changes to the system. And from denial-of-service effects. Those years of doing all that enterprisey B.S. in that dumbed-down language has apparently taken its toll.

    19. Re:What? by haruharaharu · · Score: 1

      And most devs don't want admin on a prod server - too many things could explode with bad results. Sudo is ok if the list of allowed users is small (I've seen this work well at amazon), but that's just for mangling the apps themselves.

      --
      Reboot macht Frei.
    20. Re:What? by haruharaharu · · Score: 1

      We're running into a problem with this: some devs want to install a VM to play with, but the only images allowed are the standard no-admin machines. Try explaining to helldesk that the image you just installed isn't on actual hardware and therefore can get admin rights.

      --
      Reboot macht Frei.
    21. Re:What? by zoloto · · Score: 1

      It takes a while to change habits. This is nothing new and no harm was done.

    22. Re:What? by mr+exploiter · · Score: 0, Troll

      Other than making developers less productive, but hey it's not like they matter at all so its ok, right?

    23. Re:What? by Anonymous Coward · · Score: 0

      We're talking about the dev environment here...

    24. Re:What? by berashith · · Score: 1

      "Just do it the quickest and cheapest you can"

      good , fast , cheap ... choose two

      All you have to say to management as an admin is " what are the SLAs?" There is no way I would ever be responsible for a production SLA in a lab environment. If massive downtimes due to undocumented changes are acceptable to customers, then fast and cheap is okay. If any level of good is wanted, then you have to consider expense.

    25. Re:What? by skuzzlebutt · · Score: 1

      I, too, work for a Large American Company (one of the largest).Ten years ago I was a developer, server admin, and DBA for critical systems, and had full admin for pretty much the whole world (along with my one partner). We never blew up anything too badly (luck, mostly, and our willingness to work insane numbers of hours to fix our mistakes before userville woke up), but, as you can imagine, we needed full admin just to get by since we couldn't hire more hands.

      Fast forward a decade, and LAC has seen the light; they don't even let developers reset passwords, don't let DBAs write code, don't let server admins create user IDs, etc, etc, . Even restarting services goes through change control. And, we have a bona fide dev/test/prod environment on Linux (no more MSSQL 7 and WinApache all running on a 486 that I rest my feet on all day).

      It makes for a safe, secure environment--but Jesus Willem Defoe, it takes for-goddamn-ever to do even the simplest tasks.Senior Vice President signature, committee vetting, and 3 week change control process to bounce a server? Yeah, that's why I'm not in tech with LAC anymore. They're probably still running 2.2 kernels because they can't get approval to upgrade.

      tl;dr: Some big companies don't realize that security and functionality requires balance.

      --
      My debut novel AMITY now available: http://jeremydbrooks.c
    26. Re:What? by cloudmaster · · Score: 1

      This just in - often it takes a short term loss to buy a long term gain. More at 11.

    27. Re:What? by initialE · · Score: 1

      Test machines? I give my guys VM images. Not that they ever learned how to use them anyway. AFAIK a test machine is a wasted machine, as a developer rarely uses it, and nobody else can use it while they are holding on to it.

      --
      Starbucks, Harbuckle of Breath.
    28. Re:What? by cloudmaster · · Score: 1

      \hits snooze on the sarcasm meter

      Luckily, competent developers use variables to store things like that, rather than hard-coding them everywhere. This includes the creations of shell aliases for things they just can't remember (yes, long crazy usernames can be included in your .ssh/config). I could work with those changes with almost 0 impact on my daily routine.

    29. Re:What? by initialE · · Score: 1

      If making 1 person's work easier causes risk for everyone else, it makes sense not to make his work easier. Admin rights means risk of compromise, leading to leaked passwords, attack vectors from within your intranet, DDOS. Things that can break the entire network.

      --
      Starbucks, Harbuckle of Breath.
    30. Re:What? by complete+loony · · Score: 1

      That sounds fair-ish to me. At least for testing what needs to happen in production. Give the devs free reign to try something and make sure it works, but they must document what they've done and make sure it's repeatable.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    31. Re:What? by multi+io · · Score: 1

      Did you just say that installing software and restarting server processes should not be considered to be "admin-only" things?

      Yes, I did just say that.

      Security includes being secure from unauthorized changes to the system.

      Right. And one way to ensure that is to not install or run server processes system-wide, or with admin privileges. A good piece of software should be installable and runnable without admin privileges.

    32. Re:What? by ae1294 · · Score: 1

      Telnet isn't a secure method to connect to a server....

    33. Re:What? by zoloto · · Score: 1

      your condescending attitude notwithstanding, the developers need a clean system to work on. not a dozen or more different applications which effect overall system responsiveness and adding separate extra libraries etc for said apps. If you can't actually sit in front of a computer and work without checking facebook, your IM software or dicking around, you might need to re evaluate your position in the company as something less than useful.

    34. Re:What? by zoloto · · Score: 1

      We do have a VM server for exactly what you mentioned so each "machine" is really a VM. But the difference is negligible. "Final" testing before product is shipped would be installing the app onto our testing users computers. you know... the "customers" use and abuse the app before shipping to the real customers.

    35. Re:What? by zoloto · · Score: 1

      Oh no! I can't install steam or starcraft on my machine! What will I do during lunch?! *gasp* hehehe

    36. Re:What? by MartinSchou · · Score: 1

      "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?

      In all likelihood his job is to make sure the company computers work properly.

      Making everyone else's work easier is to remove all passwords, anti virus software etc., as that will make it easier for them to do as they want.

      His job should be to make sure that what you do doesn't fuck things up for everyone else. And he should do this in the way that causes the least inconvenience to you. That means he shouldn't be taking over your computer in the middle of the day just to perform a scheduled update. It also means that you shouldn't be running the software you're developing on production machines.

      It is easy to forget that the rules put in place are there for a reason. They need to be reasonable rules, obviously. No-one in their right mind would shut down production, just because some book says to do it whenever someone wears a blue sweater to work. On the other hand, it's a VERY sane rule that laptops are kept on the other side of firewalls from the rest of the network, that laptops are required to have a lot more security scrutiny than the 50 kg tower computer that is bolted to the floor, and that passwords are treated like keys to the office.

      We screw up. Sometimes we screw up big time. Wouldn't you love to know that you missing the '.' in 'rm -rf ./*' didn't bring down the production server because you don't have that kind of access on the production server? I know I was glad I only made that mistake on a test machine. But hey - if you feel like fucking up that badly just because it's easier for you, I'm sure there are plenty of companies that will love your answer to "So, why were you fired from your previous job?".

    37. Re:What? by Anonymous Coward · · Score: 0

      A good piece of software should be installable and runnable without admin privileges.

      A trivial piece of software should be installable without admin privileges.

    38. Re:What? by John+Betonschaar · · Score: 1

      You must not be a developer, everything you're saying is based on ideal assumptions about how developers do their job that never occur in the real world. I've lost weeks if not months of productivity because admins or procedure-nazi's thought I didn't *need* this or that, and I should just conform to what all the Powerpoint and Excel heroes are working with, through procedures that take days or weeks before things are sorted properly.

      As a developer I need _full_ control over _every_ aspect of the system I'm working on, you can always start out by assuming I only need A, B and C, but the moment some pesky bug, performance issue, problem with a certain 3rd-party, OS library, compiler or otherwise exceptional peripheral problem occurs, I need to be able to debug it with whatever tool is best for the job. Which often means adding or removing stuff from the system, rebooting it into different kernels, intentionally limiting or crippling OS or network resources to reproduce problems, etc.

      Unless you like burning money by taxing IT support extra and frustrating developer work, your developers should (in general) be allowed to do whatever the hell they want to do to their systems. Fence them off using subnets and VM's, that's fine, but don't try to force a developer into the common user profile.

    39. Re:What? by TigerLAX · · Score: 1

      That is fine with regards to dev systems, but absolutely not on prod systems. If you think that developers should have full control to prod systems then you are clearly not a professional developer who understands dev/test/prod concepts.

    40. Re:What? by mr+exploiter · · Score: 0, Troll

      I won't argue my point I think its pretty clear. I'm a developer and I wouldn't work on a machine where I didn't have admin rights, unless there were a really good reason to do so.

    41. Re:What? by cloudmaster · · Score: 1

      Telnet doesn't use ~/.ssh/config, either. :)

    42. Re:What? by Anonymous Coward · · Score: 0
      As a developer I need _full_ control over _every_ aspect of the system I'm working on,

      No. You do not. Period. You are an embarrassment to your profession.

      We give developers admin rights by default, as a courtesy. But when they fuck it up, we take it away.

    43. Re:What? by Anonymous Coward · · Score: 0

      For some reason I can't find the -1 Whiny Bitch mod.

    44. Re:What? by ae1294 · · Score: 1

      Wooosh^n-1

    45. Re:What? by OeLeWaPpErKe · · Score: 1

      A trivial piece of software should be installable without admin privileges.

      I think the problem is not so much the good/bad trivial/complicated distinction in the software that is important, but the good/bad trivial/complicated distinction in the programmer/admin.

      After all, the parent poster is right, most software is perfectly installable as a non-admin. It just takes an above-average programmer.

    46. Re:What? by quanticle · · Score: 1

      They tend to download whatever they feel like downloading onto production servers.

      Generalize much? Here's a hint: if your developers are needing to download stuff onto production servers in order to put fixes into place, their development environments aren't matching production. Perhaps you should look into that before you complain about developers ignoring best practices regarding "Enterprise Standards" (whatever those are).

      Most developers I have dealt with do not draw much distinction between a dev environment and a prod environment.

      And why should they? After all, the development and production environments should be as close to identical as possible, correct? If they're not, debugging becomes much more difficult. Developers are human, just like everyone else. If the rules make it impossible (or very difficult) for them to do their jobs, they will ignore the rules in order to get work done.

      Only the true development professionals that I have worked with understand how structure helps them and the enterprise, rather than viewing "rules" as an enemy in the way of their ability to get the job done.

      If your developers are seeing your rules as an enemy, its because the rules are getting in the way of them being able to accomplish something. No person likes to have jump through arbitrary hoops in order to complete everyday tasks. However, most everyone can agree that some rules are necessary to keep people from bumping into one another. Perhaps if the developers on your end had an explanation of why the rules are necessary, they'd respect them more and circumvent them less.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    47. Re:What? by quanticle · · Score: 1

      Yeah, that works right up until the same restriction that keeps you from installing Steam or Starcraft keeps me from installing the debug version of a library to debug a tricky issue. Then the "sensible" restrictions have caused a significant delay in the bugfix because I have to spend time convincing a reluctant admin to install the necessary things on my machine rather than going ahead and fixing the bug myself.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    48. Re:What? by quanticle · · Score: 1

      Admin rights means risk of compromise, leading to leaked passwords, attack vectors from within your intranet, DDOS. Things that can break the entire network.

      This is an argument for having the developers machines on a separate subnet from the production machines. It is not an argument for locking down individual workstations. Consider this: Google does not place any restrictions on the software its developers run. They are even free to choose their own operating system. Yet, because they've managed to properly structure their network, they don't fear a compromised developer machine leaking secrets.

      I'm not saying that you should give your employees the same freedom that Google does (though, I'm sure your employees would thank you if you did). I am saying that having developer machines in a position where they can DDOS the network or leak production data is an indication of a poorly structured network. Locking down the end terminals only masks this vulnerability; it does not remedy it.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    49. Re:What? by zoloto · · Score: 1

      If you're such a good developer you'd know what to install before hand and have it requested. Discovering you need the debugger in the middle of your project? What are you, in high school?

    50. Re:What? by zoloto · · Score: 1

      Very well put. It's frustrating that people can't see beyond the limitations that are in place having been proven to be effective at minimizing anyones downtime in said production environments. Especially in large shops. Then again, local admin can be given on a case by case basis temporarily or even selected admin functions with proper GPO's without leaving a sour aftertaste in the lead admin's mouth.

    51. Re:What? by quanticle · · Score: 1

      I already have the debugger. I need the debugging symbols for the shared library, since I think its a contributing factor. If I knew that the problem was in the shared library, I wouldn't need the debugging symbols. However, I am not omniscient (most developers aren't, you know).

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    52. Re:What? by serialband · · Score: 1

      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.

      This is only a problem in the Windows development environment. Unix allows developers, other than kernel developers, to be unhampered by user permissions. There are still too many programs that do not run properly in a remote desktop environment with multiple users.

  2. 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 Z00L00K · · Score: 1

      I agree - without local admin rights it's close to impossible to get things done - or you will have to have a much larger IT staff.

      I suspect that the same will be valid even for Windows 7.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:Yes by Knara · · Score: 1

      Don't even think about giving them on production systems

      This is really important. Dev machines are one thing, but I've found that (aside from the problems in change management that can be brought on by letting devs push changes directly to production, i.e. "it's just a little fix!") most devs have no patience for security on servers. This is fine if they're internal test boxes or VMs on their desktop machines, but unacceptable in production.

    3. 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.
    4. 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.
    5. Re:Yes by thuh+Freak · · Score: 1

      ideally, this would be nice. but as a developer, i need to work with toolsets that don't take into account a proper multiuser system. [i agree, in *nix, local root is probably not necessary; but i've only done prof work in windows.] also, since i work for a huge multinational, it takes forever to get IT support to actually get around to installing software for me. so i req'd admin rights and access to the net share with all the disc images. they know what i have --they audit the program files folder or whatever sysadmins do-- and take care of licensing.

      also, for certain systems, installing isn't quite as simplistic as "next.. next.. next" (which is basically what i'd get from IT support). you need certain configuration and it needs to fit in with the developed systems. i massage the machines to make them purr (both my box and the dev servers), and thus i can be very hands on and helpful as we deploy up to test and prod envs.

      i do not have admin access anywhere except my own machine. but i have elevated perms on the dev boxes. and no direct access to test nor prod.

      --
      I wish that I was a catfish.
    6. Re:Yes by grahamlee · · Score: 1

      It is impossible, IMO, to do many functions without these privileges.

      I currently work in an environment where I don't usually need admin. I'm a self-employed Mac developer, and do all of my dev work in an unprivileged account. However that account is a member of the _developer group, which gives the debugger the right to attach to processes. That's frequently all I need. When I've worked in $bigcorp networks where developers do need admin or root, IT have typically created a sandbox network for developer machines to sit in which have access to SCM, the bug tracker, build environment front-end and so on but limited access to business systems and internet facilities.

    7. Re:Yes by Anonymous Coward · · Score: 0

      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.

      What functions do you need elevated rights for? Seriously, I haven't programmed in ages and even then it was for Unix, so I never had admin rights on my development platform. It didn't seem to hurt my productivity.

      Now, I can see if you're doing driver or kernel development. And for testing installation of software. But for most work? I don't see it. And for web development? Not at all.

    8. Re:Yes by Anonymous Coward · · Score: 0

      Tell me more about this 'virus scanning' that you speak so fondly of!

    9. Re:Yes by jsnipy · · Score: 1

      Elevated rights for being able to debug across process boundaries, attaching to preexisting processes, registry access to register services, ... just to name a few

      --
      -- if you mod me down, I will become more powerful than you can possibly imagine
    10. Re:Yes by HTH+NE1 · · Score: 1

      We have an IT department of one, no local administrator rights, and several programmers still running Redhat 9 while new programmers (and IT's fellow vegetarians) get Ubuntu.

      It makes me want to run a privilege-elevating exploit just to be able to swap out a blurry CRT for a damaged LCD (can't modify XF86Config).

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    11. Re:Yes by Anonymous Coward · · Score: 0

      I have always given our developers local admin rights on their machines.

      I am responsible for the servers, the network, and the desktop machines and peripherals. I trust the developers to be intelligent, careful, and to know their needs better than I do.

      I will assist them if they run into trouble, or screw up their machines, but they are not a priority -with local admin rights comes the responsibility for fixing your own problems. They are also made aware that if they cause harm to the rest of the systems/infrastructure either directly or thru negligence (ie spread a virus, etc.) that it can cost them their jobs.

      This has been policy across many companies, both small shops, and large multinationals.

    12. Re:Yes by Dishevel · · Score: 1

      Umm. I don't know where you work but at the company I work for if a virus spreads across our network and costs my company money because I just trust my users and threaten them with a firing then it will most likely cost me my job.

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    13. Re:Yes by Anonymous Coward · · Score: 0

      It's funny to read this. I know a public organization with +10000 windows desktops running on a limited account, a lot of them very restricted (no access to task manager, no accesss to command line tools, no access to control panel, no access to right mouse button, etc.). On those restricted accounts or personalized ones runs every software needed for desktops. In the other side (the server) therar are Windows Servers, HP-UX, Solaris. The funny thing is a lot of propietary software in Solaris and HP-UX needs to run within the root account.

    14. Re:Yes by colenski · · Score: 1

      Yes. A lot of development environments *cough* Visual Studio 2008 *cough* assume local admin rights. You also have to be able to install stuff to get things done. If you have to submit a ticket just to register a DLL or what have you, your time is wasted.

      It's dumb I think to just say, Well, install a VM and make it unpriveleged because 90% of apps you develop access the LAN in some fashion, and an unencumbered VM not subject to group policy is basically the same as having a development machine with local admin rights, except now the VM represents rogue machine from the LAN perspective. So why not just give the developer local admin and reduce your LAN management headaches?

    15. Re:Yes by colenski · · Score: 1

      >Well, install a VM and make it unpriveleged because

      Sorry, I meant "Install a VM and give it full privileges"

    16. Re:Yes by foxcob · · Score: 1

      I have to say I am one of those morons who uses my admin privileges to turn off virus scanning. On a development machine where I am constantly compiling the virus scanner is devastating to performance. This may be due to the fact that we use Symantec, but with the virus scanner checking every file being read and written, or checking the compiler everytime it is invoked from the build script is unacceptable. I know I can setup special rules in most scanners for this, but I have still noticed a terrible loss in performance on the rest of the machine. On the other hand, I haven't had a virus in years. Mostly because I am a knowledgable user who doesn't open / install just anything I see. I do occasionally do whole system scans, and if I'm unsure about something I get, I scan it explicitly before opening. But again, I am a moron who used my admin privileges to save lots of time and disable virus scanning.

    17. 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.

    18. 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!
    19. Re:Yes by Anonymous Coward · · Score: 0

      Holy crap, you are the moron if you are running virus scanners on development machines, not that one sane person who turned it off. That shit will make your system slow to a crawl, especially for compiling. Do a full scan once at night every day, and never have it do anything else to your computer, then your sane users won't turn it off to stay that way.

    20. Re:Yes by kojimoto_atusis · · Score: 1

      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.

      Yes This should be a poll, probably the result would be 99% Yes

    21. Re:Yes by wwphx · · Score: 1

      NO THEY SHOULD NOT.

      The place where you really see the problem is when people like me have to install a commercial program, it doesn't work, and their tech says "give the user local admin rights." NO. It seems like half the applications that I have to install or upgrade want the running user to have local admin rights. We tried setting up specific directory permissions and all sorts of other non-standard crap, it wasn't pleasant. I don't remember what the final outcome was, it was more than six months ago.

      I've long been out of the development game (I'm a DBA), and then it was a Windows environment and you didn't need local admin. Maybe it's different in a *nix environment. But Windows developers having admin rights while developing causes hell when deploying such code. Giving Joe/Jane Doe average user local admin rights to their machine on a network that you're trying to keep reasonably secure because they have to run a program as a corporate standard is not a good thing.

      I have two network accounts: domain admin and a non-admin account. I'm always logged in to my local machine as non-admin, I don't remember the last time I signed on to my local machine as admin. When I need to do administrative work on one of my database servers locally, I remote over using my admin account then log off. I know developers have to do things differently, I guess I should be thankful that I can do most of my job without needing admin access to machines as long as my non-admin account is set as database owner on my servers.

      There has to be a better way. I can understand that developers need special debuggers. I appreciate that. But they cause absolute hell with network security.

      --
      When you sympathize with stupidity, you start thinking like an idiot.
    22. Re:Yes by Brett+Johnson · · Score: 1

      The funny thing is a lot of propietary software in Solaris and HP-UX needs to run within the root account.

      I disagree completely. Any non-OS related production proprietary software that needs to run as root is:

      1. Poorly designed
      2. A severe security risk

      In nearly 30 years of Unix software development, I can only think of a single piece of non-OS software that I wrote that need elevated permissions. I separated that code fragment from the system to run as a separate process, then audited the hell out of its dozen or so lines of code. Nearly all the other systems and server software I have developed actually runs with reduced privileges - often with fewer privileges than the "average user".

      OTOH, I have also done significant amounts of OS development: kernels, system libraries, loaders, vm and paging system, device drivers, virtual machines, etc. Writing them without admin rights (at least on the target test machine - only a moron would test a device driver on his dev box) would be impossible.

      In general, I have had complete administrative control of nearly all of my desktop development environments throughout my career. Installing most development tools usually requires admin privileges. Attaching a debugger to a running process usually does, as well. Accessing system logs and crash reports are also frequently required.

      Ironically, in the 10 years or so that I used a NeXT workstation, the IT guys would say, "You're on your own with that thing. I'm not touching it."

    23. Re:Yes by lgw · · Score: 1

      I generally like Symantec's corporate AV product, but indeed the realtime scan is hopeless when you're compiling. We turned it off for every compile at the last place I worked that used it - which happend to be Symantec. It's nice that it turns itself back on again on a timer though.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    24. Re:Yes by Alpha830RulZ · · Score: 1

      We do our builds on a pool of linux machines, in a continuous build cycle, so that isn't really a problem.

      In the case I noted, the gal turned the AV off specifically because she needed to move some files around, and was thinking it was taking too long. The real problem was the ancient hub that her machine was plugged into.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    25. Re:Yes by peragrin · · Score: 1

      So your saying the developers of developers tools on windows also are ignorant about limited user accounts. On any *nix I can install most apps in my own home directory with only my user rights for my use. Those apps can't then be used by others unless I allow it. On Windows every developer assumes you have full admin rights for all apps. That is a bad mindset and needs to be fixed at all levels of developers.

      --
      i thought once I was found, but it was only a dream.
    26. Re:Yes by man_of_mr_e · · Score: 1

      On the other hand, if you have Debugging rights, you can be administrator if you want. Debugging gives you, effectively, SYSTEM level access.

    27. Re:Yes by TapeCutter · · Score: 1

      "But Windows developers having admin rights while developing causes hell when deploying such code."

      No that happens because people fail to test the code on an SOE box. It's like writting a single code base for multiple O/S's, if you only test on the same O/S the code was developed on then your asking for trouble.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    28. 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
    29. Re:Yes by Corporate+Troll · · Score: 1

      Windows can be set as usable for Limited Users. I've done it more than once and it's just lazyness/cluelessness of the admins that ensures devs get local admin. As an administrator it is harder to give them the rights needed, but it is possible.

    30. Re:Yes by CAIMLAS · · Score: 1

      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.

      I'd go that one further and inject that an OS isn't a true multi-user OS until a developer is able to develop his software in a limited, non-system account.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    31. Re:Yes by Saint+Stephen · · Score: 1

      I don't believe that's true. You can only debug processes you "own" (or have appropriate permissions to open the handle).

    32. 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. ;)

    33. Re:Yes by KristjanHreinn · · Score: 1

      Where the hell do you work?

    34. Re:Yes by gatesvp · · Score: 1

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

      The problem here is that you're talking about the difference between needing to respect constraints and being able to work outside of those constraints to set them in the first place.

      If you take the simple Windows example of building a local service, you can see the complications for the non-admin developer. First off, how do you install the service that you've just built? The service can run in a local context, but it needs to be installed using an admin context. Now if I can't install the service, how do I test it? Can I attach a debugger, do I have those permissions?

      Note that this isn't an issue of getting the service onto the user's computer, the sys admin can manage that process. This is a matter of being able to pretend to be an admin to get stuff working on my own computer before I push it out to users. Now it is possible to manage permissions in such a way that I can actually test what I'm doing without needing full admin permissions. But in most domains the simplest way to do this is to simply provide admin permissions (to the machine, not the domain) and let the devs support themselves.

      The other major option is to set up some VMs for doing this, but then you have the problem of needing to create network test users so that the dev can manage the machine but still access resources on the network as if they were local. So it's a similar problem in a different place.

    35. Re:Yes by Brett+Johnson · · Score: 1

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

      It is the other user's process that gets me. Recall I mentioned that most of server processes run as their own unprivileged user: ie: "tomcat".

      But you're right. NeXT's non-standard way of doing things was a pain-in-the-ass. I remember the great lengths I went through to connect to our corporate NIS+ (v3 or v4?) maps with NeXT's older v2 implementation.

      P.S. I sold all of my black hardware when I moved 8 years ago. In hindsight, I wish I had kept my NeXTstation Turbo. It was sweet.

    36. Re:Yes by raju1kabir · · Score: 1

      However that account is a member of the _developer group, which gives the debugger the right to attach to processes.

      Isn't that enough to easily elevate yourself to root? Seems like all you need is the ability to run some privileged process, like the control panel, and then the world is yours.

      --
      "Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
    37. Re:Yes by Bert64 · · Score: 1

      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...
      People developed software back then too you know...
      The mere fact you consider such a system inadequate highlights just how bloated software has become.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    38. Re:Yes by Bert64 · · Score: 1

      But, windows is always marketed as being "easy" and therefore not requiring skilled but expensive admins to run it... As a consequence, many companies employ cheaper people with lesser skills. At the lower end of the pay spectrum "give them admin" and "just reinstall" are considered acceptable solutions to problems.

      By contrast, unix is generally considered harder so companies expect to pay more and generally end up with a higher standard of staff... Although in situations like this, unix is actually much easier.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    39. Re:Yes by jon3k · · Score: 2, Informative

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

    40. Re:Yes by mikael_j · · Score: 1

      Regardless of what you may think of software bloat there is still the issue of a system like that being ancient, as jon3k pointed out it wasn't just "a few years ago" that such a system was high end.

      Also, even for web development a system like that would be horrible, first you have half a dozen different browsers (possibly with some for of "javascript debugger" like firebug) which alone would eat up cycles and RAM like crazy, on top of that you most likely have an IDE or at least a few gVim sessions open, throw in Photoshop on top of that and that machine will be crawling along, and don't even dream of running any virtual machines on it.

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    41. Re:Yes by drsmithy · · Score: 1

      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.

      I hold that your assertion is utter stupidity.

      Ob: Car Analogy. It's like arguing an electric car doesn't exist until 90% of gas stations can do a battery swap.

      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.

      Most windows apps run multiple instances fine. This isn't 1995 any more. And they're all limited by the privileges of the user in question.

    42. 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.

    43. Re:Yes by peragrin · · Score: 1

      The electric car won't exist in more than a handful of cases until a power source for it is setup.

      And no 90% of windows apps can't handle multiple instances. start with MSFT Office. two users can't log into the same computer at the same time and both run MS word without a third party controlling things.

      --
      i thought once I was found, but it was only a dream.
    44. Re:Yes by BenoitRen · · Score: 1

      good luck running your IDE + debugger + test environment on that

      This has more to do with sucky IDEs that bog down the computer than developing on 'slow' hardware.

    45. Re:Yes by pete6677 · · Score: 1

      If you cannot secure a network due to developers having local admin on their development boxes, you are not a competent admin.

    46. Re:Yes by EvanED · · Score: 1

      two users can't log into the same computer at the same time and both run MS word without a third party controlling things.

      What are you smoking? I just tried it (Win7/Word 2007) and it worked fine. I'd be surprised if there were problems with earlier versions too.

    47. Re:Yes by EvanED · · Score: 1

      I'd be surprised if there were problems with earlier versions too.

      Also no problems on a different computer with XP and Word 2000. So yeah, I say you're on crack or something.

    48. Re:Yes by Anonymous Coward · · Score: 0

      cough cough BULLSHIT!! Oh wait.. you didn't say if you ran on UNIX or Windows.

      There is absolutely ZERO reason to require administrative rights to the systems to do development work on a UNIX operating system.

      Want servers running with listeners below 1024? No problem.. grant that individual right to the application userid that is used to start/stop the application - NEVER run the apps as root.

      Developers develop the code.. Application admins deploy it - separation / segregation of responsibilities - anyone who works for a financial institution that has to follow Sarbanes Oxley has to do this.

    49. Re:Yes by clodney · · Score: 1

      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...
      People developed software back then too you know...
      The mere fact you consider such a system inadequate highlights just how bloated software has become.

      Getting a developer a high end box makes perfect sense. Most of the good developers are enthusiasts, and want to have nice tools to work with. Spending a few hundred dollars extra on a dev box, and replacing it every few years, may well be the difference between a developer feeling appreciated and having them walk out the door. Spending the same amount of money on salary would hardly be noticed. Any enhanced productivity because compile/link cycles are shorter is just gravy to me.

  3. Yes by jimbobborg · · Score: 1

    All of the places where I've worked as an Admin, I gave the developers admin rights so they could install software, but only on development systems. Don't even think about giving them on production systems. Of course, I spent quite a bit of time fixing development machines due to something these folks have done, but all production systems were updated by me.

  4. 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 Thad+Zurich · · Score: 1, Funny

      Well considering that almost every security vulnerability ever reported has developers as a root cause, not sure you can really claim they cause less harm. The harm just gets postponed until it is maximally expensive.

    3. Re:Yeah. by happyemoticon · · Score: 1

      There's nothing that pisses off a supervisor like, "I couldn't get anything done this week because the guys who have admin access to [insert name of vital but poorly-integrated resource] were on vacation."

    4. Re:Yeah. by serialband · · Score: 1, Troll

      The fact that Windows systems require programmers to need admin rights is utterly broken. It's the cause for so many non multiuser capable programs still being made.

    5. Re:Yeah. by jim.hansson · · Score: 1, Offtopic

      plus the fact that developers are going to cause less harm than average users

      As a developer and former sysadmin. I think are wrong there, I know that if I have a bad day at work and don't think one extra time before pressing enter och commiting I could wreck a much bigger havoc compared to a normal user that uses some gui that ask "are you sure" and they would not even think of doing some of the things I may do because they do not have the same know how. I think as a developer and sysadmin that developers are the most dangerous people to have running around with more privileges than needed. A developer that whips together a bash script for fast fix ending up in "rm -rf /"

      --
      preview button, my computer does't have any preview button
    6. 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
    7. 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]

    8. Re:Yeah. by Anonymous Coward · · Score: 0

      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.
       
      at my last job it was the developers, twice, who got our Internet connection blackholed at the ISP from sending spam. One was a misconfiguration and the other was installing apps off crappy sites that had malware (testing they called it). None of the other users with local admin managed to cause nearly that level of damage. The dev's kept there local admin, but we blocked all ports going out of their vlan that were not mandatory. maybe your a fantastic, this would never happen kind of dev, but I've met a lot of dev's who didn't seem to have much network or security knowledge, enough so that I mentally pooled them together with the other users. What I advise is locked down vlan for your testing with local admin requirements, computers on the main use vlan's get the same lockdowns that any other user does - unless the company wants to spend extra money on the infrastructure techs taking time to go look at the dev machines.

    9. Re:Yeah. by thsths · · Score: 1

      > The combination of money lost due to wasted time otherwise plus the fact that developers are going to cause less harm

      Sometimes it is just about trust. But if you don't trust you developers, you should not trust the software they write either...

      Plus a good developer will know how to get around standard security barriers anyway, so giving them admin rights does not actually make a different security wise.

    10. Re:Yeah. by Anonymous Coward · · Score: 0

      so put them on their own network and be done with it. seriously, what developer doesn't back up his data in case of such mistakes? you're paying big bucks for them to sit there and churn out code. useless roadblocks just makes them less productive, both in the time it takes to jump around (if possible) security thingies put there for avg users, and in the frustration they cause.

    11. Re:Yeah. by jim.hansson · · Score: 1

      already done, so big project so even development area for that one project is split into 4+ areas so one developer should not be able to crash the whole system for all developers. still one developer can still do so much damage that when one group of 10+ developers are sitting around doing nothing because a screwup one of them did, it still cost a lot of money.

      --
      preview button, my computer does't have any preview button
    12. Re:Yeah. by ShakaUVM · · Score: 1

      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.

      Wait, what?

      At my last office job (~100 people in the company), the developers WERE the system admins.

      It's all "computers", right? :p

      Actually, I lie. We ended up getting so fed up with being taken off task to fix peoples email that we actually hired a full time IT guy, but he was so intimidated by us that I couldn't imagine him trying to lock us out of our computers.

    13. Re:Yeah. by jgostling · · Score: 1

      It is a pain to switch back and forth

      which is what Run As is for.

      Cheers!

  5. Local Admin by Anonymous Coward · · Score: 1, Interesting

    In previous places I have worked, the developers did not have local admin privileges on the machines on the network. We used virtual machines and test boxes that are disassociated from the network for testing and debugging, and the developers had full permissions for those machines.

  6. 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 QuoteMstr · · Score: 1

      Gah! My eyes! My pre-caffeine grammar!

    2. 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.

    3. 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

    4. Re:You damn well should by Anonymous Coward · · Score: 0

      I'd be more worried about accidentally building in dependencies on "hundreds of small programs" that won't be there in the final environment.

    5. 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.

    6. Re:You damn well should by qoncept · · Score: 1

      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.

      --
      Whale
    7. Re:You damn well should by gestalt_n_pepper · · Score: 1

      And following that argument, is any person who can't maintain his own automobile, toilet plumbing, the airplane he flies on, or his cell phone also incompetent?

      There's only so much time. I need to focus on what gives me the most return. That's not system administration.

      --
      Please do not read this sig. Thank you.
    8. Re:You damn well should by girlintraining · · Score: 1

      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.

      Must be nice, being able to pick and choose what jobs you take. Unfortunately, most people here don't have that luxury.

      --
      #fuckbeta #iamslashdot #dicemustdie
    9. Re:You damn well should by Deorus · · Score: 4, Insightful

      How can a competent developer not understand operating system concepts?

    10. Re:You damn well should by firl · · Score: 1

      Yeah, I agree completely. As a developer, I also have to manage deployments to the point of where I have administration rights on all of staging, and then during deployments I have admin rights on production also. to caveat it all, some developers the company has hired has no idea beyond the language they were hired to do; so for them to have admin rights has been a detriment to our tech team requiring rebuilds of their laptops several times

    11. Re:You damn well should by Anonymous Coward · · Score: 1, Informative

      Any developer who can't competently administer his own machine is incompetent. The kind of rigorous thinking required is identical.

      I agree that developers should have local admin privileges, but I think this relies on them knowing their limits, and I don't believe that they need to be competent at administering their machines.

      As an example, most of the code I develop runs on Solaris (with which I'm pretty intimately familiar) but I do most of my day-to-day work in Windows. I recently had problems VPN-ing into work (on Windows) and just about tracked it down to Kerio, the software firewall that we use. I was completely happy troubleshooting this far, because I understand our VPN's network flows, but troubleshooting Kerio was beyond me - I don't even know what diagnostics I can get. I passed it to our IT Support team and they investigated.

      Does the fact that I can't troubleshoot obscure bits of software that I don't develop make me an incompetent developer? Isn't troubleshooting these types of problems what we have an IT Support team for?

    12. Re:You damn well should by Anonymous Coward · · Score: 0

      There's a difference between "can't" and "doesn't care enough to". Developers and sys admins have different priorities. Most developers never want to patch their boxes for a variety of reasons (don't want to reboot, don't think they need to care about patches, etc). Most developers don't want to run anti-virus because it makes things slower. Then these guys call IT on Saturday because their box has become unusable because it has has a dozen viruses and spyware and it's so slow they can't do anything and they have a deadline.

      I don't think there's a definite correlation between the quality of a developer's code and their sys admin prowess.

      Give developers a lab and firewall the hell out of it. Let them basically do whatever they want in there, but be prepared to help them clean up the mess occasionally when someone brings a virus in that takes out every machine. Or get a job at a Unix shop. :)

      If you let your developers have admin rights in your production environment, you're a moron. They simply don't give a damn about security (and -- why should they? They're not paid or trained to be security experts (well, unless you work at a security software company :-/)). And they'll make changes there that will never get tracked by change control.

    13. Re:You damn well should by qoncept · · Score: 1

      Local admin rights and permission to install anything you want aren't the same thing. I have local admin rights, but software is still installed by our desktop team, and only approved applications and versions.

      --
      Whale
    14. Re:You damn well should by Anonymous Coward · · Score: 0

      @Parent

      You've clearly never written production code at a Fortune 500.

    15. 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...

    16. 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.

    17. Re:You damn well should by Anonymous Coward · · Score: 1, Informative

      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.

      My last job's developer policy was: you have root access on your machine and you can install whatever you need to help get your work done, but if you mess up your machine, IT's solution is going to be to re-image it. (You won't lose work, because all of your work is checked in, right? And any un-checked-in in-development code can be backed up to the network first.) That way the developers get the freedom they need, and IT doesn't have to try to diagnose incompatibilities between hundreds of little third-party apps.

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

      because IT does not equal programming or vice-versa

    19. 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.

    20. 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.

    21. Re:You damn well should by QuoteMstr · · Score: 1

      If I understand you correctly, your central assertion is that developers aren't paranoid enough. There are plenty of those people out there: but if someone doesn't take care to research the actual operation of HKLM\DoWhatIThinkLooksRight, then he's probably the kind of person to use an unchecked strcpy too, or to admit an XSS vulnerability to a website. You really don't want that kind of person working for you in any case.

      Granted, though, it's difficult to screen out that kind of carelessness in advance.

      As an aside, having done both systems administration and software development work, I love open-source operating systems: I can see exactly where the "evil spirits" are and step through their machinations with a debugger. With Windows, I'm reduced to sacrificing chickens.

    22. Re:You damn well should by Anonymous Coward · · Score: 0

      I have no idea but I'll bet it has something to do with all these job postings I see that treat a computer science degree as something completely separate from basic knowledge of computers:

      Requirements:
      Bachelor's Degree in Computer Science
      Understanding of Operating System concepts (users, file systems, job scheduling, process management)

    23. Re:You damn well should by alen · · Score: 1

      or the worst download of all, Google Desktop. it will scan your email and kill your Exchange server in the process by constantly indexing whatever is in your mailbox

    24. Re:You damn well should by AvitarX · · Score: 1

      And unfortunately, most developers have little regard for the difference between USER and ROOT (or equivalent).

      This is very very true. If they did running as a non-admin would be much easier. I have some trade software that still requires it, but very simple stuff (document display).

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    25. Re:You damn well should by Anonymous Coward · · Score: 0

      Define competent, keeping in mind context is important.

      In other words, it depends what they're programming, if they're doing dynamic web applications in the JVM then it's highly likely they don't really need to know many OS concepts.

    26. Re:You damn well should by Captain+Spam · · Score: 1

      I think the (faulty) argument is more like...

      ...any millwork engineer who can't maintain his/her own automobile is incompetent (hey, mechanics are mechanics, right?).

      ...any fluid mechanics researcher who can't maintain his/her own toilet plumbing is incompetent (they're both mostly fluid, right?).

      ...any pilot who can't rebuild a commercial passenger jet is incompetent (you need to know all that to fly, right?).

      ...any public speaker who can't redesign the firmware on his/her cell phone is incompetent (it's all communication!).

      ...any system administrator who can't write complex code is incompetent (because hey, computers are computers... wait, hang on...).

      --
      Demanding constant attention will only lead to attention.
    27. Re:You damn well should by jinxed_one · · Score: 1

      I agree to a point when you've reached a senior level. Jr to Mid level programmers should be slowly building up their skills in this area before being given full admin access - many companies I've worked for limit the admin privileges to installing software for Jrs, Software and Settings for Mids (minus disabling critical software like Virus protection), and Srs have full access to their local box.

      As a side note - no support person can handle all the situations needed in the programming environment. That being said, you should still consult your support personnel before making any modification your not completely sure of - it's only common courtesy if they're the ones having to reinstall everything because you f'ed your machine up. If you do all your own installing then you're probably competent enough to handle it.

    28. 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.
    29. 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.
    30. Re:You damn well should by Anonymous Coward · · Score: 1, Insightful

      Easy - not all operating system concepts are applicable to all kinds of development. You don't necessarily need to know the stuff that doesn't overlap with your own responsibilities.

    31. 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.

    32. Re:You damn well should by jellomizer · · Score: 0

      No.

      A developers for the most part we shouldn't have admin access. The reason for the Crappy Software we have today is the fact that Developers have too much access to the system and get away with using very low level features as they have access to it. Leaving software that needs to be operated by a high security user where they normally shouldn't need to be such. Also allowing everyone to install their own tools without asking why sure may be less efficient for the short run but it will make sure all the other people are on the same plate so you don't need to use XYZ tool to fix the code where you are the only one who knows it.

      Secondly the idea that a good software developer make a good administrator is false too. I have done both and they are really two different type of skill sets. Programming is like building Administrations is using what has been built. Lets use a Car anology... A good driver doesn't need to know how to make a car. The person who can build a car may not be a good driver.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    33. 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
    34. 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.

    35. Re:You damn well should by tmonkey · · Score: 1

      I work in a large company and we see numerous issues with admin rights. Drive by infections via web browser, Software compliance issues (yes they do Download and install pirated applications,.. to their entire group), removing compliance software, locking IT department out of their workstation or server. A good IT department has the resources and facilitation to distribute the applications that a developer needs quickly and to globally manage every system on the network. To your point of "Any developer who can't competently administer his own machine is incompetent". Well that is the last think a developer does, they do not admin or take care of their machines. In fact in the places that I have worked the developers are the least patched and generally worst maintained systems. It is also difficult as the global sys admin to maintain their systems due to all of the unknowns on their systems. Whether it is a system variable that a maintenance script relied on that they changed because they didn’t know why it was there. We even had to hack into our own system because the user removed us as admins and we could not get in.

    36. Re:You damn well should by santiagodraco · · Score: 1

      It's not about whether or not a developer can administer his or her machine, it's about security (or should be). Local admin rights are removed from users in order to protect the machine AND the organization from attack. Developers should be an exception, but not on their corporate boxes if at all possible. Developers are NOT IT staff or security experts, normally, and assuming they are is making the same kind of mistake companies make all the time when allowing users (which developers are) more rights than they require to peform their jobs.

      Developers can just as easily test their code in sandbox environments that don't make the network more vulnerable to attack.

    37. Re:You damn well should by Sycraft-fu · · Score: 1

      I don't know why people seem to think that sysadmins and developers are the same thing. They aren't, it is different skill sets. There are good sysadmins who can't program, and good programmers who know very little about system administration.

      Personally I think developers shouldn't have admin in general because it may force them to think about how their code runs as an unprivileged user. There are still way too many apps that want admin to run. This is a result of shoddy coding, nothing more. Devs write it as admin, test it as admin, and thus never see any problems. If they had to run as a regular user, they'd be forced to make their code work properly.

      All in all I think the proper method is something like what we do at work. I work for a university so saying "no admin ever" isn't a position we can take. More or less we try to talk people in to no admin, since in our experience it leads to way less problems. In the event they aren't ok with that we give them an admin account along with their regular one. They are expected to use their regular account, and just use the admin one to escalate as needed. Further, when they become admin they take responsibility for the system. If it gets infected, it is on them, not us. We then try to talk their professor in to removing their admin access, which we often succeed in. There are several labs where everyone used to have admin and now nobody does.

      In the case of a company, I'd say that devs who want admin should have to sign a little document saying the understand the risks and it is on them to not mess up their system. If they do mess it up, they get to go in front of the boss and explain why, and then explain why they need to keep admin. More or less a situation where you have to take accountability. You can't say "I want to have full access, but you need to be there to hold my hand and fix shit if I break it." No, can't work that way. If you want the power, with it you have to take the responsibility.

      The reasons we object overall to people having admin is not because we are control freaks, but because experience shows that there are less problems that way (all our virused and spywared systems are from people with admin) and because people don't seem to want to be responsible for their actions.

    38. Re:You damn well should by Plugh · · Score: 1

      And, if the developer subtly fucks up his machine, so that my application doesn't work anymore -- maybe he horked up a service, maybe the new RPM he downloaded has a bug that subtly screws up the networking -- is he going to say, "gee, I have been administering my local box and I must have fucked up Plugh's application so I'll troubleshoot and fix it myself!"

      NO

      He is going to log a P1 trouble ticket against me and my team, then he's going to send emails to everyone he can, as high up the food chain as he can, complaining about my how my POS application is the reason he can't deliver on time.

      A few hours later when I or my team have figured out what he did to subtly shoot himself in the foot, he's not going to send a flood of apologetic emails. It'll go quietly by the wayside, and I an the unsung heroes on my team will continue to be... unsung.

    39. 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.
    40. Re:You damn well should by digitalhermit · · Score: 1

      Any developer who can't competently administer his own machine is incompetent. :) Those days are long gone, I think, when it was understood that developers understood how to do basic (and advanced) maintenance on their systems.

      Our developers are mostly Java programmers... Our machines are mostly AIX. The developers have been known to ask how to get to the "D:\" drive and have opened tickets that "ls doesn't work" because they ran it in an empty directory and didn't get any listings.

      Every admin here probably has a hundred similar stories about things that supposedly computer literate developers have done.

      I can forgive certain things.. Like the developer opening a ticket that his Java program wouldn't run (trying to ./deploy.jar was giving a permissions error). I suppose on some desktop systems you could double-click a JAR and have it launch.

      Some things are harder to forgive...

      Like the developer copying AIX 5.3 binaries from a pSeries system to a RHEL5 on Xeon and opening a ticket that it didn't work...

      Or the one about "all the files appear to be corrupted" when user tried to do "CD /USR/LOCAL/"...

    41. Re:You damn well should by seanadams.com · · Score: 1

      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

      That's great, but how are you going to use your unix shell account to develop WINDOWS SOFTWARE? ... that was the whole point of the original question.

    42. 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...
    43. Re:You damn well should by Anonymous Coward · · Score: 0

      We need a union. "Every man for himself" inevitably leads to "serving at the whim of the employer".

    44. Re:You damn well should by S-4'N3 · · Score: 1

      CTO: "So you stopped doing SVN commits and you just make changes on the production server?" Developer: "Yes." CTO: "Why?" Developer: "..."

    45. Re:You damn well should by Nazlfrag · · Score: 1

      Any automobile mechanic who can't fix their car, plumber who can't fix their toilet, the aerospace or mobile phone engineer that can't fix their plane or phone is incompetent by the fact that they are claiming competence in that field.

      If system administration isn't second nature to your developer, he is incompetent.

    46. Re:You damn well should by QuoteMstr · · Score: 1

      unix shell account to develop WINDOWS SOFTWARE?

      Actually, I do precisely that, and test via VMWare.

      mingw works very well as a cross-compiler. Fedora even has ready-to-go RPM packages to get you set up. (And the packages have been backported to RHEL5 too.)

    47. Re:You damn well should by Anonymous Coward · · Score: 0

      and if a poster can't maintain his punctuation or capitalization, thats when he's incompetent as a run-on sentencer

    48. 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.
    49. Re:You damn well should by seanadams.com · · Score: 1

      Actually, I do precisely that, and test via VMWare.

      Sigh... then they're letting you administer your own windows installation aren't they?

    50. Re:You damn well should by McGruber · · Score: 2, Funny

      How can a competent developer not understand operating system concepts?

      They're "web developers"

    51. Re:You damn well should by Sycraft-fu · · Score: 1

      Maybe where you work. More commonly these days a solution to compiling is not to try and build some hacked together system, which I fail to see what that would be faster than a good workstation, but rather to use something like Incredibuild (http://www.xoreax.com/visual_studio.htm) to distribute the load to all systems on the network. This gets shit done WAY faster than any single system. However doing that, of course, implies dev systems on the same network as other systems.

      Then there's the fact that even if you say "Ok, all dev systems go on their own network that is assumed insecure/hostile." Fine, what happens when one of those systems gets owned and the virus goes on a deleting rampage, wiping out the source code? That's a real problem.

      I think you are looking at development in the "one guy writing scripts" kind of environment. Ok fine, however a large amount of development is big projects with multiple people collaborating. In that case, there has to be some security among the systems. It isn't acceptable to say "We lost 5 months of work of 30 people because someone's system got infected." It also doesn't matter if the server is "secure" since all the dev systems must have read/write access to the code to do their job.

      I'm not saying there aren't good reasons for devs, and others too, to have admin access. However there has to be a good reason, it needs to be done in a controlled fashion (like a separate admin account that you only use to escalate things that needs it) and the devs have to take responsibility for the systems they have admin on.

    52. 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.

    53. Re:You damn well should by QuoteMstr · · Score: 1

      Not necessarily. You could just as easily test on a company-managed machines used remotely (say, via VNC).

    54. Re:You damn well should by troll8901 · · Score: 1

      I was hoping that some education would be enough for this developer. After all, he's a person who gets work done quickly instead of wasting time. Maybe I'm too naive?

    55. Re:You damn well should by Anonymous Coward · · Score: 0

      You're talking about users, not developers. I would expect an engineer developing a new transmission system to understand how an automobile works, yes.

    56. 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..
    57. 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.

    58. Re:You damn well should by Anonymous Coward · · Score: 0

      That's a whole lot of cliches saying "I am good" and "They are bad" (how convenient), while in the meantime you just sound like a useless person making it up to protect his job. So.. you send the fax with the product specifications to the customer?

    59. Re:You damn well should by Anonymous Coward · · Score: 0

      Here I will fix that for you.

      Must be nice, being able to pick and choose what jobs you take. Unfortunately, "some" people here don't have that luxury.

      Employability is directly related to skill set and background if you have neither then yes
      you do not currently have the luxury of choosing who you work for. If you have both it is
      still dirt simple choose who you work for.

    60. Re:You damn well should by Anonymous Coward · · Score: 0

      Bullshit. You're comparing an automotive engineer to a driver, a composer to a musician, an architect to a bricklayer.

    61. Re:You damn well should by Anonymous Coward · · Score: 0

      Weren't you the same person who made claims about using operating systems that are too large for any one person to know? Are you trying to do a 360 on that claim and are you now going to another extreme and say that any administrator or support persons should also know their entire supported OSs inside out and also be able to do their task of administration and support?

      The bottom line is that as nice as it may seem to have an open system it is far worse from a support prospective to let systems jack up their system in any way they please and expect the support crew to know an OS inside out including the code to fix problems. What you're saying may work out if you're doing it from a hobbies prospective but in a production environment pouring over code to fix something the user broke in the first place is not only asinine but also a waste of company resources.

      If techs were truly that talented why would anyone need developers anymore? And if developers know what's best why do they break it in the first place? We all have our positions in this field and expecting your on-the-ground grunts to be OS engineers and adhoc developers is out of line.

    62. 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".

    63. Re:You damn well should by Anonymous Coward · · Score: 0

      How can a competent developer not understand operating system concepts?

      It's not that they don't understand the OS concepts, it's that they don't understand the particular OS itself. You should see me trying to move the damn cursor in an iPod Touch's URL bar sometime. It's not because I don't get the concept of a cursor. It's because (IMHO) the iPod sucks (or more objectively: because I probably just don't have the hang of this damn thing yet).

      Likewise, I can set up a packet filter on Linux or OpenBSD, but ask me to do that on Windows and you're going to see me getting pretty confused, and probably fuck things up. I could blame that on Windows, but the real problem is that I just don't have experience with it. It's very likely that the platform is actually capable of doing it. I shouldn't be admin on Windows, not because I'm a moron or have problems with networking concepts, but because using Windows is a job for Windows experts. It's not about concepts; it's about the product. The fact that I could theoretically run vim and develop the same code that I do now, on Windows instead, doesn't mean I would suddenly magically become a qualified Windows user. I would still just be a programmer and Unix guy, and whenever the machine gets flakey, I'm going to take the "reboot and see if problem goes away" approach like the other hundred million Windows users deal with that shit, instead of dealing with it however the Windows experts handle things. Their black magic is still black magic, and no amount of knowledge of OS concepts will make it any less magical. Only Windows expertise makes it become not magic.

    64. Re:You damn well should by c · · Score: 1

      > It seems like every developer/administrator I've met wants to ague with that.

      As a developer, I'd say you've been dealing with some very bad developers and some incredibly enlightened administrators.

      I routinely have to deal with (and clean up after) administrators with that exact same attitude... "it should work". And my answer to comments like that is "yeah, but does it?" Because "it should work" is really just another code phrase for "I changed it and I couldn't be bothered to test it".

      c.

      --
      Log in or piss off.
    65. Re:You damn well should by Anonymous Coward · · Score: 0

      Any developer who can't competently administer his own machine is incompetent. The kind of rigorous thinking required is identical.

      While I agree that developers should be able to administer their own machines, your reasoning is bullshit. That kind of rigorous thinking is required by a variety of professions that I wouldn't expect to administer a computer (MD, auditor, investigative analyst, most types of engineering). Just because you can think, doesn't mean you need to expend your time and energy thinking about things that don't matter to you. I drive a car just fine, but still take it to the shop when I need something fixed or maintained (replacing belts, non-minor fluids, etc.).

    66. Re:You damn well should by girlintraining · · Score: 0

      Employability is directly related to skill set and background if you have neither then yes you do not currently have the luxury of choosing who you work for.

      Hey peanut, I have a few more winters behind me than you and skill set and background would be a wonderful thing for employers to start looking at before hiring. But oddly enough, when you have to sit next to someone for forty hours or more a week, skill set and background start to mean less and less when you're febreezing the chair he sat in every time he leaves and listening to him swearing all afternoon at the computer and bitching about the people he just got off the phone with. Really, attitude and likability are what get you the job -- all that background and skillset gets you is the interview.

      --
      #fuckbeta #iamslashdot #dicemustdie
    67. Re:You damn well should by Anonymous Coward · · Score: 0

      Computer stuff breaks all the time for no reason.

      LOL. Yeah uhh what a totally absurd statement. My problem is all the undereducated help-desk ninjas running around like super heros because through no training at all or some hob-job technical degree they demand respect for memorizing a few esoteric network and computer management principles. They are essentially plumbers for computers and their $10/hr salary is a good representation of the amount of respect they deserve, especially compared to real plumbers. Computers are commodities are so are the lowly dorks who service them.

    68. 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.

    69. Re:You damn well should by stewbacca · · Score: 1

      I know plenty of good developers who aren't good at keeping their machines running well. They are two different skill sets, thus two different positions (IT and Developer).

      Race car drivers don't have to be good mechanics (for the mandatory car analogy).

    70. Re:You damn well should by Anonymous Coward · · Score: 0

      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.

      That's exactly (almost word for word) how I treated things when I worked tech support.

    71. Re:You damn well should by tepples · · Score: 1

      You don't necessarily need to know the stuff that doesn't overlap with your own responsibilities.

      Unless you ever want to expand your responsibilities in the future.

    72. Re:You damn well should by nine-times · · Score: 1

      Not really. I can understand why you'd interpret things that way, but I was trying to assert that most developers that I've known have a very different approach to problem-solving.

      I'm not sure this is quite right as an analogy, but maybe it's like hiring an engineer to fix your pipes when you really need a plumber. Imagine hiring an engineer to fix your toilet, watching him sit down with a CAD program and design your entire house mathematically, and then having him insist that the plumbing in your house shouldn't work at all, in spite of the fact that your plumbing works fine. Then a plumber comes in, bends the rod that attaches to your float, and the toilet is all fixed.

      In this example, maybe the plumber doesn't have a depth of knowledge about fluid dynamics as the engineer, but he also doesn't need to. And my point is not to say that one is better than the other. The plumber might not be very good at the engineer's job either, but this imaginary engineer might do well to call a plumber when he has a plumbing problem.

      The example isn't too great, since fixing a toilet is easy and most engineers wouldn't be silly enough to drag out a CAD program like that. It's an exaggeration of course. In the developer/support roles, my assessment is something like this: developers spend their day thinking about how computers should solve a problem when they're working the way they're supposed to; support people spend their day dealing with how computers malfunction when they aren't working the way they're supposed to. Those are really two different disciplines which intersect to some degree but also diverge to some degree.

    73. Re:You damn well should by schwit1 · · Score: 1

      The IT client support department has no oversight of software projects or production code.

    74. Re:You damn well should by Slashdot+Parent · · Score: 1

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

      I used to do a lot of dev work, and I'll have to be honest with you: I don't know a damn thing about Windows administration. Linux, yes. Windows, no.

      If you were to give me a messed up Windows machine and asked me to try to fix it, I could google for answers, but that's about it. I simply have no idea what Windows is trying to tell me when it gives me some memory dump of some DLL or somesuch.

      Not that Linux error messages are any more descriptive ("Printer on fire?", anyone?), but at least I know what they mean.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    75. Re:You damn well should by couchslug · · Score: 1

      Sounds like (some) developers are like (some) artists and many other creative types who, outside their specialty, have a head full of feathers.

      Such folk can be useful, but bear watching.

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
    76. Re:You damn well should by Anonymous Coward · · Score: 0

      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.

      This is clearly some strange new meaning of "extremely talented" of which most of us were not previously aware. Perhaps they're good dancers.

    77. Re:You damn well should by gestalt_n_pepper · · Score: 1

      With those qualifiers added, I would agree. I would, however, point out that development is *different* from system administration. Unless the developer is steeped in WMI issues, they're not likely to know much about the actual mechanics of their workstation. This isn't theoretical. I've noticed this for the last 15 years or so. Otherwise brilliant programmers often can't seem to function when Windows does something unexpected (i.e. every other day or so).

      --
      Please do not read this sig. Thank you.
    78. Re:You damn well should by Slashdot+Parent · · Score: 1

      As a developer, I'd say you've been dealing with some very bad developers and some incredibly enlightened administrators.

      I dunno. After all these years, I still remember my algorithms from college, and I can still specify their growth rates in Big O notation, but when Windows gives me some stack dump in some random DLL, I don't have clue #1 what it's trying to tell me.

      But maybe that's because I'm too disgusted to want to know.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    79. Re:You damn well should by QuoteMstr · · Score: 1

      Are you trying to do a 360 on that claim and are you now going to another extreme and say that any administrator or support persons should also know their entire supported OSs inside out and also be able to do their task of administration and support?

      Where do you get that idea? Making the source available as an aide to problem-solving is far different from demanding a complete and thorough knowledge of the entire codebase.

    80. Re:You damn well should by Hognoxious · · Score: 1

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

      Yeah, that Jenson Button, what an asshat. Doesn't even install his own engines let alone make 'em. As for that Michaelangelo, what a wopcock - couldn't make his own brushes or grind a decent pot of burnt umber if his life depended on it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    81. 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.

    82. Re:You damn well should by Anonymous Coward · · Score: 0

      And I bet once he was informed of the security violation, he set it up the right way.

      (You do have tools that report when anyone disables windows firewall right?)

      At my company, developers can install whatever they want, but the IT people get reports every week of what is installed.
      If the dev does something dumb, the IT people talk to him and ask him why.

      Contrast this to the normal user. if a normal user does something dumb then IT revokes their login privileges and the user has to talk to a manager to get their rights back.

    83. Re:You damn well should by npsimons · · Score: 1

      Because it's not a developers job to worry about day-to-day administration of their systems

      Maybe if they were running a halfway decent OS/distro, they wouldn't *have* to worry about day-to-day administration. One of the reasons I love Debian is that it is literally install and forget. I install what I need, tweak a few things (including a security lockdown) and I never have to touch admin stuff again. Of course, I am also a reasonably competent admin, but the fact that I have literally all the tools I need at my fingertips in the form of Debian packaged and signed software means the most sysadmin thing I have to do is "insert Debian DVD binary-1" to install something I forgot (or didn't know I needed until then).

      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.

      As a (past) sysadmin and a current developer, I have to say this really depends. For the most part, developers know what the hell they are doing; if they don't, they probably shouldn't be developers. If they're unwilling to learn how to properly use root/admin, they shouldn't be in the computing industry.

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

      Granted, but again, this is a problem of what platform you choose. Under Debian, I intentionally limit myself on the commands I run through sudo, even though I am the only user and admin. I've found I can get by with about 6-7 commands (and one of those is visudo, to temporarily add something I might need).

    84. 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.

    85. Re:You damn well should by EndlessNameless · · Score: 1

      Then there's the fact that even if you say "Ok, all dev systems go on their own network that is assumed insecure/hostile." Fine, what happens when one of those systems gets owned and the virus goes on a deleting rampage, wiping out the source code? That's a real problem.
       
      No, it's not. "Assumed hostile" is not the same as "ZOMG NO BACKUPS". This sort of idiot blathering is what makes sys admins boil in their skins. You still have your live backups and your tape backups. Just because we assume a host is higher than normal risk does not mean we suddenly deny all normal admin services to it. You're still getting backups, OS patches, group policy pushes, and firewall/HPSS rules even if you have local admin. As a matter of fact, it's normal to set a more frequent backup schedule for high-risk hosts.

      Now, your backup server may be different from everyone else's backup server because I don't want to risk *their* data on account of *your* network-nuking screwup---but you'll still have a backup server that I locked down (on which you have no privs) in case you manage to get the worm of the week on your desktop or otherwise manage to blow it up.

      It isn't acceptable to say "We lost 5 months of work of 30 people because someone's system got infected." It also doesn't matter if the server is "secure" since all the dev systems must have read/write access to the code to do their job.

      What? Read/write access to a file share or a repository is entirely different from read/write access to the system partition. I can reliably backup the repository since you have no admin credentials for that box, and I can usually backup your box so you don't lose any uncommitted code changes. You can easily break my backup job on your workstation if you have local admin---so be sure to commit your code to the repository or else ask me to validate the workstation backup if you're worried about losing work.
       
      If I give you local admin, when there's a problem the assumption will be that you caused it. This assumption in no way changes my administrative responsibilities, and lack of proper backup or infrastructure is still my problem unless I have a documentation denying it from management.

      --

      ---
      According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
    86. Re:You damn well should by nine-times · · Score: 1

      Well in general it's true been true for me that the hardest people to support have been the people who *mostly* understand what they're doing. Whether they're developers or hobbyists, it's a bad combination to have a decent amount of computer knowledge mixed with no support experience and little to no understanding of company policies. I've never really minded it, though, so long as the users are polite and respectful.

      Also it really helps if you show some consideration for the fact that you don't necessarily know why the support personnel are doing what they're doing. For example, if they don't let you bring in external drives and boot alternative operating systems from them, it might be because they're using full-disk encryption and they don't want you to hose your MBR.

      I'm joking, giving you a hard time, but I thought it was a good example. Not only did you not anticipate it, but your IT staff may not have exactly anticipated it either. But that's why a lot of corporate IT people are inclined to lock down systems, deny admin rights, and prevent people from bringing in outside equipment. It's not just about blocking a list of anticipated problems, but about preventing an infinite number of possible unanticipated problems.

      What we did for some developers at one of my companies was to allow them separate development systems. They had computers that gave them access to email, web, all their normal work documents, and a standardized set of development tools, and those computers were supported by IT and locked down. If they needed more freedom than that, they had a budget for buying their own development machines which were run on their own network, and that network was firewalled off. We didn't officially provide support, but we'd provide advice and help them when time permitted.

      However, what we found was that once they had to provide their own support, they didn't like dealing with the development machines very much because they crashed too often. They preferred our machines, which really had most of what they needed anyhow (we did have a specialized image for the developers), and were pretty rock-solid. That was years ago, though. I haven't dealt with developers much since, and I don't know what the current state of things is.

    87. 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.

    88. Re:You damn well should by jcoy42 · · Score: 1

      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

      Apparently you have never taught a *nix class on how to use fork().

      --
      Never trust an atom. They make up everything.
    89. Re:You damn well should by BitZtream · · Score: 0, Flamebait

      What you're describing as a developer is actually just some guy who writes code.

      I don't think you're a bad support guy, most 'developers' suck. Any developer that feels like you describe is at the very best a newbie and has no clue how complex of a system he or she is dealing with, but its more likely that they are just never going to be capable of being a competent developer.

      You are correct in blaming the computer gods, because sometimes its not part of your focus to figure out WHY some settings does something unexpected, your focus is to produce product. You can't dissect every bug to a root cause, sometimes the root cause is beyond your control, such as in someone elses source. When thats the case at some point you have to stop troubleshooting that problem, accept that it is a problem, work around it and move on. If it costs you 10k dollars to troubleshoot and fix a problem, or alternatively, just not fix the problem and say 'dont do that' while losing 5k in sales, then you accept the 5k loss as far better than a 10k to get a proper fix. Either way, you're out 5K in money, and one is a lot less time consuming. Of course you never really know if its going to cost you 10k to fix or that you'll lose 5k if you don't. Good developers recognize that the business isn't there to produce the perfect product, its there to produce profit.

      Of course, this is slashdot, so you're going to see almost every post talking about how developers should be able to do whatever they want, and how the poster wouldn't work somewhere that didn't let them have admin rights. Pay attention closely, these guys are the unemployed ones still living in mommies basement, or probably on their way there soon.

      I develop software currently on OS X, Windows and FreeBSD, and I've done Solaris development in the past. None of these OSes currently require root for developing software. You will need permission to do what you're trying to do for testing. You may need root to test a kernel module or driver, thats what test hardware (or virtual machine) on its own network is for. That separate machine makes isolating changes required in production a lot easier to find, since you start off with an image thats basically a default install to test against, so you always know what changes are required to make it work else where.

      QA should always be separate from development. Developers freaking SUCK at QA. They know EXACTLY how the app is SUPPOSED to work and test all those situations it deals with. Good QA can be done with no knowledge of the application itself, and is sometimes better if the testers have no knowledge. Testers need to throw unexpected situations at the code to find out where it fails and why.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    90. 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!"
    91. Re:You damn well should by Anonymous Coward · · Score: 1, Insightful
      [H]ere'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.

      He doesn't possess a lick of sense. The kindest thing would be to take him out back and shoot him.

      Seriously, if this is one of your "best developers", you have Real Problems at your place.

    92. Re:You damn well should by warmflatsprite · · Score: 1

      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.

      I'm one of the very few developers out there that has extensive experience in developing both high-level enterprise software and low-level embedded systems -- both hardware and software. I am constantly frustrated at the way people seem to assume the term "developers" represents some homogeneous group.

      Your arguments make the assumption that the software being developed must interact with some desktop OS in some way. Not all developers are working on applications that are built for a target architecture that is the same as their workstation. Not all developers write software that must be concerned with a particular OS. These people are more concerned with things like motor drives, signal processing, etc. Many of them are highly competent at what they do, but don't give a damn about why you shouldn't disable a firewall on an insecure network -- that's somebody else's problem.

      The answer to plover's question is easier said than done. A company that does any kind of development work needs an IT support department that is capable of understanding the needs of the developers and balancing those needs against those of the company as a whole. In some cases this will mean developers get local admin access, in others it will mean the opposite.

    93. Re:You damn well should by starfishsystems · · Score: 1

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

      I agree. However, in my 32 years in the industry, I've only met three developers who would qualify as competent under that definition, and that includes people who write network stacks, device drivers, and other system software. For that matter, I've only met a handful of system administrators who are truly competent. The vast majority, in both camps, have respectable skills, but very few of them have the humility to understand that they're functioning in a state of incomplete knowledge and imperfect execution. For a developer, a momentary breakage just means try again. For a system administrator, a momentary breakage means we don't know what information has been exposed.

      The kind of rigorous thinking required is identical.

      No, it's not. There is a lot of overlap, of course, but two different kinds of rigorous thinking are required for these two functions. A developer foremost has to think about functionality. A system administrator is also responsible for ensuring non-functionality, so that there are zero occurrences of gaps in which the the cat might possibly get out of the bag. I observe very few developers who get that shortcuts, even really really clever shortcuts, are not okay. This whole thread is evidence of that. Conversely, most system administrators are not required to be programmers at all, let alone excellent ones, so they don't see the extent of the design discipline which developers have to work within. They, too, cut corners, but of a kind related to structure. In a perfect world, yes, there is a synthesis of these two disciplines. Alas, very few workplaces promote that synthesis.

      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 hope you'll forgive me for using this last comment to illustrate why you're exactly the kind of person who should be given minimal privileges. I'm sure that your intentions are the best, but you fundamentally don't get it. The computing environment that you're working in is not your personal toy. I'm sure that sounds condescending, but it's the brutal truth. It's not yours, not in any sense. It has to be built and managed in such a way that you could leave and it would carry on fine without you. Think about what that implies. If you need development tools that nobody else needs, then how are the rest of us going to maintain your work product when you're gone? If they're really so important, or so harmless, then everyone should have access to them. Everyone should be running the same versions of them. And any support and security implications in them should be adressed across the board, so that the software which you write can be maintained. It makes no sense at all for individual developers to make these choices or implement them. For that matter, your job isn't defined by you either, is it? Management sets your goals and provides the resources to achieve them. I hope that there's a dialogue around this, so that you can help to define what tools you need. But no, this display of entitlement, thinking that you can just go off and do your own thing, is why you won't get elevated privilege.

      Yes, there has to be a place for developers to freely advance new ideas and test them, to try new tools and debate their merits and so on. What we're talking about is a research lab, not the development environment and not your desktop. Good developers deserve access to a good research lab. If I were you, I'd campaign for that, where you stand a chance of winning.

      --
      Parity: What to do when the weekend comes.
    94. Re:You damn well should by Anonymous Coward · · Score: 0

      Umm, software developers are not engineers by any stretch of the imagination.

    95. Re:You damn well should by MightyMartian · · Score: 0, Offtopic

      Hah! I guess the moron must have mod points!!!

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    96. 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.

    97. Re:You damn well should by nine-times · · Score: 1

      I think you've somewhat correctly identified the what while incorrectly attributing it the the why... I have confidence that I can fix things if/when they become broken.

      Well that's even worse. A good support person might have all the confidence in the world that they can fix things if/when they become broken, but they won't fiddle with it too much anyway unless they have to. The question isn't whether you can fix it, but what happens in the time between when it breaks and when it gets fixed? How many people can't work? How many man-hours are wasted? How much money does the company lose due to the downtime?

      Of course you can fix it. Anything can be fixed with enough time, money, and expertise, and yes, it's true that these days a lot of expertise can be found with a simple Google search. From my experience in working at various levels of support, being able to fix things isn't impressive to me at all. Having nothing ever break in the first place-- now that's a trick.

    98. Re:You damn well should by QuoteMstr · · Score: 1

      I hope you'll forgive me for using this last comment to illustrate why you're exactly the kind of person who should be given minimal privileges.

      And I hope you'll forgive me for using your reply to illustrate why I would never want to work in an environment you administer. Programmers not cogs in a machine, and resent being treated as such. They chafe and strain against restrictions imposed by people who don't understand neither the problem domain nor the solution space of software development.

      While you are correct in noting that individual choice and experimentation make an environment more akin to a research lab than a factory, but I would argue that every software development hop needs some elements of a research lab.

      After all, programming is research and development. It's an inherently creative process, and nothing that can or should be mechanized like some garment factory. By allowing programmers to tailor their environment to their particular needs, you account for intrinsic individual differences and make everyone happier and more productive. It's not about using a workstation as a toy, but rather about finding the best way of parlaying my mental faculties into products for the company.

      In short, management can dictate my job, yes: but they shouldn't dictate how I do it.

      Regarding commonality and communication among software developers: good developers inform their associates about the techniques they use, and bad developers don't. Company policy should help this process. If you, as a manager, suddenly lose a skilled but uncommunicative developer, finding the programs he used to hack on the code will be least of your problems.

    99. Re:You damn well should by Anonymous Coward · · Score: 1, Informative

      The top performer bit was in relation to development skill, not managing the desktop - that was the whole point of the anecdote if you read the grandparent, that those who can be among the best in getting stuff done on the development side may not be good choices to entrust extra administrative privileges to.

    100. Re:You damn well should by brainburp · · Score: 1

      Does your company also insist on reading comprehension? The original topic was about an individual's workstation. What does that have to do with reboot a production box?

    101. Re:You damn well should by Anonymous Coward · · Score: 0

      Have you ever worked with COBOL developers in the 40-60 age bracket? I'm guessing not. Some people I work with will never get used to anything but green text on a black background.

    102. Re:You damn well should by starfishsystems · · Score: 1

      If you, as a manager, suddenly lose a skilled but uncommunicative developer, finding the programs he used to hack on the code will be least of your problems.

      Exactly. It's just one of several surfaces we have to be concerned about. Thanks for helping to make this point.

      --
      Parity: What to do when the weekend comes.
    103. Re:You damn well should by bmk67 · · Score: 1

      Developers should never, ever, ever have root access to production systems.

      While I agree with this sentiment generally, in some cases it's necessary and desirable. Case in point, I am a lead developer, and I also happen to be the final escalation point for production issues. The buck stops with me. I do have root access on the production systems I am ultimately responsible for.

    104. Re:You damn well should by neumayr · · Score: 1

      Not according to my experience. For example, neither low level graphics developers or high level Java UI developers necessarily know, or need to know, how to administer their own machines.
      It's just not their area of interest, and why would it be?
      And yes, those were very competent people in their respective fields.

      --
      Truth arises more readily from error than from confusion. -Francis Bacon
    105. Re:You damn well should by Anonymous Coward · · Score: 0

      Almost every developer thought he could administer his own machine, but very few did a good job at it.

      And this is exactly our experience here

      As the lead IT admin, I have two 'standard' setups for developers.

      1) You do NOT get local admin on your machine, however you have a licensed copy of VMware, and another licensed copy of Windows inside of it for your development work. This VM you *do* have local admin over.

      or 2) If you want a local admin exception on your main machine, then it gets isolated in a separate vlan, and if you break it, it's your job to fix it.

      When my boss asked why it wasn't my responsibility to fix it anyway, I compared it to taking care of the tools you need to do your job.
      If I picked up a tool from his desk and slammed it on the floor to smash it, how would he feel shelling out cash to replace it and effectively say 'nothing bad will happen if you keep destroying our stuff'

      A computer is no different, and if you choose (by asking for a local admin exception) to misuse a tool knowing full well you are not a system admin, then you are responsible for your tools, and it is up to you to replace them to continue doing work (Or in this case, to reinstall Windows or whatever is needed to fix what you broke.)

    106. Re:You damn well should by curunir · · Score: 1

      The question isn't whether you can fix it, but what happens in the time between when it breaks and when it gets fixed? How many people can't work? How many man-hours are wasted? How much money does the company lose due to the downtime?

      Given that the discussion is over local admin rights, when something breaks, the answer to your question is 1 person can't work. The man hours wasted are equal to the number of hours it takes to fix. There's a dollar amount that goes along with it too, but it's not too high, especially when compared with the amount of time lost to having to ask IT to make changes to a locked-down machine (during which, 2 high-paid employees are occupied instead of 1.)

      We're not talking about servers here. I think any competent developer understands the context they're working in. You don't want to make changes to critical servers with as little thought and preparation as you can give to changes to your local development machine.

      Of course you can fix it. Anything can be fixed with enough time, money, and expertise

      This is true, of course, but only holds in the case where the user is willing and capable of making the fix. For developers, this is likely the case. For the rest of the users that IT has to support, it's not. My point was that since we're able to fix things, we're more likely to try things that are likely to accomplish what we need rather than running to IT for help. And it's not, as you suggested, because we're so sure that the computer will act the way we believe it should act. Instead, it's because we believe that we can recover from any problems caused in making the change.

      This argues for developers having local admin rights because any problems we create we clean up ourselves. We're not like the rest of users for whom having local admin rights would exacerbate the problems once IT is tasked with cleaning it up. There may be the rare case where that happens, but the more common case is that we prevent the need for IT to even get called for small and easily fixable problems. Of course that goes out the window when we're denied local admin rights because our computer need is so specialized that we're constantly hassling IT to make changes that would be trivial for us to do ourselves or, worse yet, we're forced to work around the problems we encounter because IT is unwilling to make the desired changes.

      Having nothing ever break in the first place-- now that's a trick.

      It's not a trick, it's impossible. But it's irrelevant when considering the question of how to best allocate a company's resources. However developers being able to fix their own machines is relevant since it allows them to have local admin rights and not burden the IT staff with maintaining their computers.

      --
      "Don't blame me, I voted for Kodos!"
    107. Re:You damn well should by Anonymous Coward · · Score: 0

      Typical slashdot generalization. How insightful.

    108. Re:You damn well should by Icarium · · Score: 1

      You're assuming that the environment in which one works and the environment that one develops for are one and the same.

    109. Re:You damn well should by Locke2005 · · Score: 1

      Depends on what kind of software they are writing. If they are just coding up GUIs, they don't need to understand how the OS works. If they are writing system level or communications software or drivers, they damn well better have some understanding of how the system works or they'll end up writing something that looks a lot like Microsoft's implementation of SMB.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    110. Re:You damn well should by dem0n1 · · Score: 1, Funny

      bear watching.

      Where is it?

      --
      Why save your soul when you can sell it for a profit?
    111. Re:You damn well should by haruharaharu · · Score: 1

      Not that Linux error messages are any more descriptive ("Printer on fire?", anyone?), but at least I know what they mean.

      How is that not descriptive? If you want weird errors, look around for 'not a bicycle' type errors. High speed impact printers can, and do, catch fire

      --
      Reboot macht Frei.
    112. Re:You damn well should by Anonymous Coward · · Score: 0

      Another about face. Good job, fucking retard.

    113. Re:You damn well should by mrjohnson · · Score: 1

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

      Heh, I was never more depressed for mankind when I had to show a fellow developer how to change the Windows screen resolution. :-)

      But, on topic, I can't believe the first few posts weren't, "I took the Windows laptop and put $distro on it." Worked for me!

    114. Re:You damn well should by thermal_7 · · Score: 1

      But seriously, what setting?

      As a developer, I don't play with settings because they shouldn't be a problem. I change them because I either need to, or they make things a lot easier for me. In other words, I change settings as part of my job. Not taking minor risks like this results in ugly workarounds. We have settings for a reason.

      Let's deal with problems as they come up, rather than being super cautious with our machines.

      (I personally have never gone to a sysadmin other than to get privileges granted.)

    115. Re:You damn well should by thermal_7 · · Score: 1

      Support people have a whole range of skills that developers don't have. However, (good) developers should be almost just as competent at looking after their own machine.

    116. Re:You damn well should by nametaken · · Score: 1

      Absolutely the case in my experience as well. Our developers were helpless with basic system administration. Our admins couldn't code very well. It put me in a unique position as an IT guy gone programmer.

    117. Re:You damn well should by kramulous · · Score: 1

      Granted, a particularly bad example. But I think the GPs point still stands.

      There is a shitload to know and understand about computers, both hardware and software. Not to mention the stacks of software. It is similar to expecting a scientist to know all about all of science. Not possible.

      I would be awful in a software development house; totally unemployable. Adhering to all the standards and such. But I still have my usefulness. I don't really understand a lot about networking shite but that doesn't stop me from writing parallel rendering algorithms and engines for smp machines, clusters and workstations; multiple GPUs in a single machine, multiple in multiple machines, etc. This is for realtime interaction of terabyte datasets. All I know is that I want arrays of SSDs on a network drive for storage. I don't really give too much of a fuck how it is done unless I identify that portion as a significant bottleneck.

      I get the proof of concept code up when people tell me it can't be done that way then I throw it to the dev team to implement properly and move onto the next task.

      A poster above highlighted using linux for the devs and testing in a VM environment. I think this gets top marks and is how I can get most of what I need done.

      --
      .
    118. Re:You damn well should by Anonymous Coward · · Score: 0

      Shoulda, coulda, whatever. Developers are generally inept when it comes to system management. It has been this way for the last 10 years.

    119. Re:You damn well should by Narcocide · · Score: 1

      Yes and no. Yes, some education would undoubtedly be enough, but since the issue is one of principles and wisdom instead of merely trainable skills said lesson will probably only be learned after the consequences of he/she having accidentally loosed the entirety of user contact info database to the public internet really hit home for them and your company. Is that really the type of lesson for which you want to pay?

    120. Re:You damn well should by Anonymous Coward · · Score: 0

      Hey, before you criticize someone's reading skills you should reflect upon your command of English, Sparky, 'cause let me tell you, it's not so great.

    121. Re:You damn well should by Anonymous Coward · · Score: 0

      Good post, except that you don;t seem to clearly differentiated between the different types of development machines (this is assuming writing software for a server, rather than writing packaged software.

      You have the prodution servers.

      You have the near-production test servers. These will be running the current's code, or perhaps the stable branch when you are close to a push to production. These should be a near to identical to production as can be done, with load simulations etc if viable.

      You may have other test machines for personal tests by developers of incomplete code to ensure what is written performs as expected. These can usually drift a bit further from production than the near production test servers. These machines are not critical, and can be omitted in some environments.

      Lastly you have the machines that developers write code on. These are very much non-mission critical. The biggest concern with them is that they don't infect the rest of the network, and that they have a minimal level of security, since they likely will contain the full source for the application in question, and perhaps even history in the case of certain version control systems. Developers should be taught security concepts thanks to the latter, but otherwise have full control over these machines. If they want to use their own Frankensteinian coding software, that combines all sorts of software with a whole bunch of scripts tying everything together, that is fine (as long as the checked in code can be maintained and developed by others without requiring this setup).

    122. Re:You damn well should by The+Bastard · · Score: 1

      I have to disagree that SA and SD/SE are separate, full-time disciplines which can't be done well together. Way back when I first started (think late 80's), UN*X sysadmins often were senior level software developers/engineers. I learned both excellent coding and sysadmin techniques at the feet of these gurus, and in time, became a guru myself, moving effortlessly amongst the systems and code.

      I will agree that when either SA or SD/SE becomes so time-consuming due to size (number of boxen/VMs or size of development efforts), that splitting the roles is necessary. But to say neither can be done well by the same person is fallacy.

    123. Re:You damn well should by clump · · Score: 1

      Such an example is an honest one, and is extremely frequent in the real world. Progress is messy.

    124. Re:You damn well should by Anonymous Coward · · Score: 0

      The no password thing is scary; however, the rest adds up. At the company I work for windows firewall is turned off as it interferes with one or more of the software packages we use. We also don't use windows remote desktop as we offload alot of our processing onto cuda which simply does not use the graphics card for display.

    125. Re:You damn well should by zzyzyx · · Score: 1

      Personally I think developers shouldn't have admin in general because it may force them to think about how their code runs as an unprivileged user.

      Developping an app is not the same as running it. You need tools to do your work, and the developper needs full access to these tools to be efficient. What's the process if the developper needs such editor, compiler, debugger, library installed, do they have to ask for approval each time? Take your own advice : developpers and admins have different skill sets, you shouldn't assume that you know how to do their job better than they do.

      If they do mess it up, they get to go in front of the boss and explain why, and then explain why they need to keep admin.

      What the ... Really? Is it that big of a deal to reinstall a default image and be done with it?

      The reasons we object overall to people having admin is not because we are control freaks, but because experience shows that there are less problems that way

      On your end only. You seem like you're making other's people work a heck of a lot harder only to make your job easier and cover your ass.

    126. 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.

    127. Re:You damn well should by Manxa · · Score: 1
      I work for a startup e-commerce company which uses Catalyst as the frame for some of the front facing applications. The developers, QA testers, and development (dev and qa inclusive) managers all have admin rights to their PC. IMO its much easier to allow local admin rights rather than bugging the sysadmins every time they (read 'we') need to install a piece of software. The sysadmins have enough on their plate without babysitting the development team.

      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.

      I agree. We have some brilliant developers who will ask an occasional Windoze question. I grew up in a Windoze env, so in retort, I ask the occasional Linux question. :)

      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.

      We recently had a complete overhaul of the company/development team, to include creation of business requirements gathering and proper coding standards. The prior development team had a few developers with admin access who would change code on the fly without sysadmin approval/procedure. Code would then be "backdated" in order to trickle the production changes down to the other developers. Sometimes the production fix didn't always work. Imagine the customer/customer/end-user experience if your site was Javascript intensive/dependent and worked one moment but broke the next?

    128. Re:You damn well should by Anonymous Coward · · Score: 0

      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."

      Please remember that the next time someone in IT drops write permission to a network share, plugs a hole in the firewall, or changes some other settings that "shouldn't have any effect" that takes down an entire system. The last time it happened someone in IT changed a MIP and it took down an entire order delivery system for several hours before someone found the problem. The time before that, someone in IT decided at random a hole in the firewall needed to be plugged for "security reasons" and it took down an electronic delivery system for about four hours. The time before that, someone in IT decided a production account shouldn't have write permission to a shared folder on the network and it took down integration with several of our suppliers.

    129. Re:You damn well should by Kjella · · Score: 0

      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.

      By your standards there wouldn't be anyone worthy of making your system. Or if there was then a) you couldn't find them, b) they'd be moving on to a better positions' at another company and c) be too busy to help your project. If you got someone that's great at making the computer do what you want, that's a valuable skill. You'd be surprised how many would-be coders couldn't code their way out of a paper bag if their life depended on it. Fire him? You got to be kidding me, take it for what it is and have someone who's good at input checking do that. The coders you want only exists in fairy tales.

      --
      Live today, because you never know what tomorrow brings
    130. Re:You damn well should by Anonymous Coward · · Score: 0

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

      Most developers, if not all, are incompetent, then.

    131. Re:You damn well should by Anonymous Coward · · Score: 0

      "There are good sysadmins who can't program, and good programmers who know very little about system administration."

      Bullshit. I know good sysadmins that are not *efficient* programming nor far knowledgeable, but I never knew a good sysadmin that coudn't program. The same goes the other way around: I know good programmers that don't know the ins and outs of the nitty-gritties of system administration, but I never knew a good programmer without real knowledge fo OS functions, networking, etc.

      Oh, yes, I know *a lot* of bad programmers and system administrators that think your way and usually think they are good examples of this but the sad reality is that they are wrong and that they are neither good programmers nor good sysadmins. But, hey, 90% of everything is shit, after all.

    132. 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.

    133. Re:You damn well should by Anonymous Coward · · Score: 0

      Given that the discussion is over local admin rights, when something breaks, the answer to your question is 1 person can't work.

      Viruses/worms, unintentional network denial of service, overwriting critical system files. These are things that can be accomplished with local admin rights, and they mean that (best case) two people can't work. They also could involve a significant loss of company time (if you overwrite the hard disk drive, and you don't have backups, you could easily lose months or years of work. If you disable a critical server, you could lose hours of productivity for everyone)

      And it's not, as you suggested, because we're so sure that the computer will act the way we believe it should act. Instead, it's because we believe that we can recover from any problems caused in making the change.

      I think you just disproved your first statement with your second. What makes you think the steps you take to recover will cause the computer to act the way you think it should? I find that after I've caused problems, it becomes even more unreliable.

      Having nothing ever break in the first place-- now that's a trick.

      It's not a trick, it's impossible.

      Not impossible. Just very very expensive. The shuttle, for example, has a system design such that critical computer functions don't fail. It is a mite expensive, but it can be done. Also look at the people who sell multiple "nines".

    134. Re:You damn well should by Anonymous Coward · · Score: 0

      I'm amazed I haven't seen (or perhaps missed it) VMware mentioned here. The desktop version is cheap and provides an excellent means for testing and deployment in a production environment. Make sure your VM's are configured the same way that your production machines are configured and you can snapshot, deploy, test, revert, and repeat as often as needed.

    135. Re:You damn well should by MartinSchou · · Score: 1

      On the other hand, the amount of time I've saved IT support by [...] fixing my own problems

      And how much time has causing your own problems cost you?

      How many of those problems could have been avoided, if you didn't have carte blanche over your computer?

      I suspect my own ratio is on the unfortunate side. Some of the things I've done to fix my own issues (even the ones that aren't caused by me directly) have ended up in causing more problems down the road than the correct solution.

    136. Re:You damn well should by Anonymous Coward · · Score: 0

      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?

      So to paraphrase you, your view of the org chart is "CEO -> you -> everybody else". Can you say "hubris"?

      Let's put it another way. You are a system administrator. Your job is to support the systems, so the work that actually brings in revenue can get done more easily. In other words, it is your job to make the developers' job easier, not their job to make your job easier. If you really think "why the fark should the world revolve around [helping them get their work done]", you need to find a different vocation because the one you are currently in is about helping others, not about helping yourself.

    137. Re:You damn well should by troll8901 · · Score: 1

      Ah yes, copying the entire contact list to test the program (both functionality and heavy-loads)

      How can I forget? Clearly I have a long way to go. Thanks for your input.

    138. 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.

    139. Re:You damn well should by c · · Score: 1

      > ... but when Windows gives me some stack dump in some random DLL,
      > I don't have clue #1 what it's trying to tell me.

      Ah... you we're on the Windows Vista development team, then?

      c.

      --
      Log in or piss off.
    140. Re:You damn well should by Cederic · · Score: 1

      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.

      Forgive me if I choose not to spend £18m giving the developers systems that replicate the production environment. They can get by on around £200k of kit and any good software engineer knows how to develop on one environment and deploy to another.

      Shit, these days it's all automated with hooks for the necessary config settings.

      Production is fucking expensive. Windows desktops are cheap. Software doesn't have unlimited budget.

    141. Re:You damn well should by Cederic · · Score: 1

      the virus goes on a deleting rampage, wiping out the source code?

      Ooh, I hadn't realised virus writers were specifically targeting source code repositories these days. That's pretty sophisticated (and quite a specialised attack).

    142. Re:You damn well should by Anonymous Coward · · Score: 0

      This is why you have to approach the situation as if *everyone* was a cog. You watch for those who bitch and kick and moan about it and you delegate them to shit jobs or you get rid of them.

      My company is a machine. Someone who doesn't want to communicate and play their part in the machine is a possible weak spot. Weak spots get replaced with re-engineered parts.

      Maybe you believe in the powerful but socially inept genius myth but I don't. These people are evasive on purpose. There is a degree of incompetency that hinders them from being effective. I don't want to have to be their baby sitter. They're not special, IMHO.

    143. Re:You damn well should by drsmithy · · Score: 1

      How can a competent developer not understand operating system concepts?

      Easily, if they're not developing things where "operating system concepts are relevant".

      Secondly, "understanding operating system concepts" and "understanding systems administration concepts" are very different things.

    144. Re:You damn well should by drsmithy · · Score: 1

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

      IME, most developers do an atrociously bad job of administering their own machines, even when they're sure they're doing a great job.

      Exhibit A: Most developers like to keep their systems updated with the latest and greatest software, libraries, OSes, etc.

      The kind of rigorous thinking required is identical.

      The knowledge and experience bases are *massively* different.

    145. Re:You damn well should by Anonymous Coward · · Score: 0
    146. Re:You damn well should by jimicus · · Score: 1

      Computers almost need to be treated as magical boxes possessed by evil spirits which might stop working if you anger the computer gods.

      As an IT person myself, if your computers aren't treating you as a god that's prone to anger, you're doing it wrong. If I wanted to negotiate, beg and plead with systems under my control I'd be running Windows '95.

    147. Re:You damn well should by nine-times · · Score: 1

      Well now you're anthropomorphizing your computers, which is just silly.

      And besides, they don't like it when you do that.

    148. Re:You damn well should by profplump · · Score: 1

      Because modern *nix systems don't have process limits? Because a fork-bomb persists through a reboot?

  7. 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.

    1. Re:Generally, yes by BitZtream · · Score: 1

      That works fine when your company is all of 10 employees.

      Doesn't work out the same way when your company is 10k or 100k employees, you'll spend all your time realizing that exactly 3 seconds after you fixed the last screw up that someone else made a new one, or that 5 minutes before you fixed the last screw up, someone else screwed up 20 more things while you were finding the last one.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:Generally, yes by nine-times · · Score: 1

      DOMAIN ADMIN?! Jiminy Cricket, please tell me that's some kind of test domain or that you're such a small company that your IT staff and developers are the same people.

  8. yes by Anonymous Coward · · Score: 0

    yes I do have admin rights, I couldn't do my job without it (we do have strict anti-virus that runs at 50% cpu all time time min). It takes forever to get IT or data-center to process requests so without local admin rights I would get almost nothing done each day. Actually we use windows machines to develop and don't deploy on windows machines. I tried to get non-windows machines to develop (makes sense to me) but to no avail.

  9. 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.

    1. Re:Yes, because I'm not a masochist by Anonymous Coward · · Score: 0

      In the Windows world you can override other things using GPOs

      You'd hate me. I broke GPO once because it was in my way. I wasn't even admin, and we had these nice large roaming profiles that took forever to copy. I broke GPO and changed a bunch of folders so that my roaming profile weighed about 1mb instead of 20. (However My Documents was now directly a network drive).

      If roaming profiles are in use, about 50% of GPO objects can be overridden by anyone with admin rights on any machine (not even required to be on the domain). If they're not, the same trick works by booting a PE enviornment on the workstation.

      If local admin, GPO is very vulnerable.

    2. Re:Yes, because I'm not a masochist by Anonymous Coward · · Score: 0

      This. I'm a developer and the environment I'm most happy in is one where I'm admin, I can install what I like, but on the understanding that I get no trouble-shooting if something screws up (well, unless it's obvious).

      Being the lazy dev that I am, I actually used to get the computer re-imaged every 6 months or so just to clean it up :)

  10. your obviously not a developer by Anonymous Coward · · Score: 0

    If you dont know how to work around this issue... You dont NEED to be an administrator to debug or install. That said, it makes things really easy if you have a way of getting administrative privlidges to your developers. But thats a policy decision isnt it.

  11. virtualization by markybob · · Score: 1

    this is what desktop virtualization is *for*. use vmware workstation or virtualbox and test away!

    1. Re:virtualization by Panaflex · · Score: 1

      Whoa there, pardner!

      That's fine for web apps, desktop apps, etc - but generally VM's have a big I/O slowdown (db's, server software, high disk usage) and aren't even usable for graphics/game development. Know your target!

      That said, I love VM's and use it all the time - especially for kernel development - but it's not a catch-all solution!

      --
      I said no... but I missed and it came out yes.
    2. Re:virtualization by RingDev · · Score: 1, Insightful

      Just what I want to do... Run 3 IDEs, a SQL authoring tool and database explorer, a web browser with 5 tabs, fiddler and other debugging tools, all inside of a VM running on a 3+ year old 32-bit computer with 3 gigs of memory.

      -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
    3. Re:virtualization by Courageous · · Score: 1

      Hmmm. I think they're calling this client virtualization now. Desktop virtualization is where the desktop is in the data center.

      Strange terminology, I know.

    4. Re:virtualization by dyingtolive · · Score: 1

      Sounnndds like a plllan to meeeee..

      --
      Support the EFF and Creative Commons. The war is coming, and they're supporting you...
    5. Re:virtualization by Slashdot+Parent · · Score: 1

      Why do you need 3 IDEs, an SQL authoring tool, and a database explorer open at the same time? Ever hear of IDE plugins?

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    6. 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
    7. Re:virtualization by rwa2 · · Score: 1

      Actually, in my past two big corporations, I would instead install the corporate image in a VM and run my dev tools on the bare metal.

      The corporate image was always 32-bit Windows XP configured to run Outlook and IE6 (which was always necessary for non standards-compliant "web-based" training and timecards and expense reports).

      That way I got to run a 64-bit OS on the bare metal, use more than 3.5GB of RAM, and had good performance, while still having a clean, kosher, fully encrypted corporate image for office docs and emails.

      In both cases, I patiently became good friends with the real sysadmins first, though.

    8. Re:virtualization by Achromatic1978 · · Score: 1

      I feel your pain. I went from an environment where I was asked to do similar, to a home office environment where I have a desktop with a 3.2GHz Core 2 Duo, 12GB of memory, talking to a machine under my desk that is running a Core i7 2.93GHz, 16GB of RAM, 8TB of RAID, and about 6 virtual machines. I couldn't tell you the practical difference between that and 6 physical machines, even under heavy load. Yay XenServer and paravirtualization.

    9. Re:virtualization by Panaflex · · Score: 1

      Oh, that's almost devilish... nice!

      I'll have to remember that if I ever get dragged, kicking and screaming, back into corptocracy!

      --
      I said no... but I missed and it came out yes.
  12. Multiple machines, KVM. by Anonymous Coward · · Score: 0

    The way ive always had it set up even in troubleshooting environments is a corporate workstation , and a test-bed system. The corporate system was hooked up like ever other drone box out there, harsh lockdowns and limited permissions, set up with email and the slew of corporate software, then KVM switched to a test box, that was basically free reign - including changing hardware configs, the only regulation was asking the IT guy for a specific make of NIC, or a re-imaged HDD to swap out.

  13. Is this even an issue anymore? by grasshoppa · · Score: 1

    You setup a development environment, which is at worst firewalled off from the production network, but ideally completely isolated. Then give the developers full reign to do as they need to do get the job done.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:Is this even an issue anymore? by Bill,+Shooter+of+Bul · · Score: 1

      Yeah, but then you have to keep a closer eye on what they install on the dev machine and make sure that it doesn't affect the application. If the app requires the software change on the server, they have to communicate that to those who control the servers. There are some tools that make sense in dev, that should never be put live.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    2. Re:Is this even an issue anymore? by grasshoppa · · Score: 1

      Agreed, but this isn't a concern that should prevent devs from having admin access to their development network. Changes that would need to be implemented in the production network should be run by IT before they are accepted on the dev network, but that's an entirely different concern from what I think the OP was getting at.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
  14. This is how we do it by bogaboga · · Score: 0

    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?'

    I work for a major insurance company. We work as a team with external personnel. There is always tension and in most cases, their personnel of comparable rank to ours earn more, appear to have more power over what we can or cannot do.

  15. yes by PixetaledPikachu · · Score: 1

    Mine yes. And since the dev environment resides physically on the same network of our production (separated by firewall), our server admins also have local admins to those machines. Software provisions are provided by the server admins, and we strictly monitor installed application on those servers by using software asset management tools. Testing is done not on the dev environment, but on another batch of servers specifically used for UATs, Developers has no local admin right on UAT environment.

  16. Hell no. by Jethro · · Score: 0, Offtopic

    HELL no.

    One of my first gigs, the Rock Star Developers had admin rights. They'd pretty much do whatever they friggin wanted. And guess who got to blame when they screwed up? Yup, the sysadmin. Namely, me.

    They'd go in and reboot servers - servers with 100 people logged in and working on stuff - because they thought their database was out of memory. Not tell anyone, nothing. One time they enabled an rsync script that pretty much overwrote a week's worth of work. And who got blamed? The sysadmin, for not making it impossible for that script to work anymore. Or something. It was crazy.

    So basically, yes, it's an accountability thing. If I'm responsible for these machines, then I'm in charge. Period.

    --


    In the land of the blind, the one-eyed man is kinky.
    1. Re:Hell no. by JohnFluxx · · Score: 3, Insightful

      What has that got to do with LOCAL admin rights?

    2. Re:Hell no. by ceebee · · Score: 0

      The OP asked about LOCAL admin rights. Nothing to do with rebooting servers.

      --
      -- Chris
    3. Re:Hell no. by Delkster · · Score: 1

      They'd go in and reboot servers - servers with 100 people logged in and working on stuff - because they thought their database was out of memory. Not tell anyone, nothing. One time they enabled an rsync script that pretty much overwrote a week's worth of work. And who got blamed? The sysadmin, for not making it impossible for that script to work anymore.

      That's not exactly about local admin rights. I understood the original question was about admin rights to the developers' workstations, not servers. That's a whole different matter.

      Personally, I'd hate not being able to use the tools I need on my local machine to complete the job just because someone's being a control freak. (Not referring to you but to those who would deny developers local admin privileges to their workstations.)

    4. Re:Hell no. by Nerdfest · · Score: 1

      Losing a weeks worth of work has very little to do with a rogue rsync script and a whole lot to do with a lack of backups.

    5. Re:Hell no. by iSzabo · · Score: 1

      You make a good point about developers having admin power on production machines; which could be extended to showing (one reason) why dev boxes should not be running production code (there was an article a while ago about testing on production boxes that would be relevant.)

      Do you feel the same way about developers having admin rights on their development workstations (which I think is what others are commenting about)?

    6. Re:Hell no. by istartedi · · Score: 1

      Oh man, it sounds like there was no clear separation of departments there. I thought I had problems!

      Some people have "admin sensibility" and some don't. I know I don't, so when somebody asked me if I wanted root on some box, I always said "NO!".

      I knew there was no upside to me having root on a server. The one or two guys who had assumed the role of admin, and were comfortable doing it, it was easier to ask them for things. If it was a stupid idea for the server, they'd reject it. They wouldn't fat-finger some command, because they did it all the time. It was their specialty.

      OTOH, you'd have to pry admin on my workstation from my cold dead hands. I could and did occasionaly crash that box; but the damage was limited to the work that wasn't checked in and my time spent rebuilding the box.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    7. Re:HELL no. by Anonymous Coward · · Score: 0

      The quickest easiest script is the worst???????

    8. Re:HELL no. by Anonymous Coward · · Score: 0

      You are generalizing and also dead wrong. A admin that cannot program is only half a admin and a programmer that does not know system administration is only half a programmer. Remember that
      when you and I are interviewing for the same job.

      Let me give you a example, recently I had a machine that would start randomly refusing connections. A quick look determined that a app kept exceeding the open file handle limits. I had a look at the source code and immediately found a section of code that was not properly closing database connections. I tossed a message to the dev with the line numbers and class file to have a
      look at. A couple of minutes later he patched it and sent me a new release, problem solved.

           

    9. Re:Hell no. by schon · · Score: 1

      Some people have "admin sensibility" and some don't. I know I don't, so when somebody asked me if I wanted root on some box, I always said "NO!".

      Actually, it sounds like you *do* have "admin sensibility", and the "somebody" who offered you root doesn't.

    10. Re:Hell no. by Culture20 · · Score: 1

      HELL no.

      One of my first gigs, the Rock Star Developers had admin rights. They'd pretty much do whatever they friggin wanted. And guess who got to blame when they screwed up? Yup, the sysadmin. Namely, me.

      They'd go in and reboot servers - servers with 100 people logged in and working on stuff - because they thought their database was out of memory. Not tell anyone, nothing. One time they enabled an rsync script that pretty much overwrote a week's worth of work. And who got blamed? The sysadmin, for not making it impossible for that script to work anymore. Or something. It was crazy.

      So basically, yes, it's an accountability thing. If I'm responsible for these machines, then I'm in charge. Period.

      What has that got to do with LOCAL admin rights?

      Depends on what you mean by local. Local admin rights on their own desktop or local admin rights on a specific server. I've had to give both, and devs tend to screw both up. I don't care about their desktops, they're a quick reimage. I care about the servers though. Those are multi-user systems and all users should be non-admin except for IT staff. Those machines become "I officially don't touch this" machines. Like Sgt. Schultz, I know nothink. Nothink!

  17. Ubiquitous in the mega crops by node159 · · Score: 1

    Having worked in various mega corps, admin privileges for developers seems to be ubiquitous. It seems ironic that most development tools do not adhere to best practices in this regard.

    But I'm not complaining, its nice to have full control of the machine, even if it always comes with the caveat 'you break it, the only support you get is a re-imaging'. At my current company this standoffish behavior has resulted in the developers running whatever OS they desire, much to the chagrin of infrastructure :).

    --
    GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
  18. Yes by blai · · Score: 1

    We trust our developers as much as we trust our admins. Actually, I trust our developers more than our admins, but the admins already have the highest privilege.

    --
    In soviet Russia, God creates you!
  19. 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.
  20. Yes by mrian84 · · Score: 1

    I cannot imagine a developer that does not have Admin rights on his machine. Virtualization is a bit frustrating unless you have very powerful machines.

  21. All users had it for a time... by Anonymous Coward · · Score: 0

    When I first started working where I work now, virtually every use had local admin rights and there was no web filtering. I brought these issues to a quick halt but I have no idea how my boss (at the time it would be a 1 man IT shop, just him) managed to hold it all together.

  22. Not on any test systems by Anonymous Coward · · Score: 0

    One of the problems I always run into is programs that require admin privileges to run. Not just install but to actually run properly. This is from the developers always having admin access and never actually testing under a user account. Things have gotten better over the years but there is still stuff out there that tries to pull this crap.

    1. Re:Not on any test systems by lgw · · Score: 1

      One of the problems I always run into is programs that require admin privileges to run. Not just install but to actually run properly. This is from the developers always having admin access and never actually testing under a user account. Things have gotten better over the years but there is still stuff out there that tries to pull this crap.

      Any software that has its quality determined by what the developers test is crap anyhow. You make a fine argument that QA should test using non-admin accounts, however.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Not on any test systems by Anonymous Coward · · Score: 0

      yes, I've seen that kind of idiocy in software from a company we work closely with, they do software and we do hardware. Their software needs to be able to update itself when the user starts it, they want us to give all the users local admin access to the machines for it. I Just stick in a GPO to give all domain users full access to the program directory. Not a fully satisfactory solution, but its not like its an important piece of software, just a bank teller system....

  23. In some companies by maroberts · · Score: 1

    Sarbanes Oxley separation of roles requirements have been interpreted to mean that developers should not also be admins.

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:In some companies by Hognoxious · · Score: 1

      It's also been interpreted to mean you can answer without understanding - or even reading - the question, so long as you include the magic words "Sarbanes Oxley". You don't even have to include the hyphen, or even spell the words properly.

      The crap that comes out of the TSA is often (and rightly) derided as security theater; by the same token SOX is honesty theater.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:In some companies by afabbro · · Score: 1

      Sarbanes Oxley separation of roles requirements have been interpreted to mean that developers should not also be admins.

      Sorry. there is no such thing in paragraph 404.

      --
      Advice: on VPS providers
    3. Re:In some companies by maroberts · · Score: 1
      http://en.wikipedia.org/wiki/Separation_of_duties

      Fixed it for you; now returns 200 OK

      --

      Donte Alistair Anderson Roberts - hi son!
      Karma: Chameleon

  24. Under no circumstances by nsd2142 · · Score: 1

    Under no circumstances should any developer in any organization today have corporate production administrative rights. Its simply not needed. As a developer and a security specialist, there's a lot of ways to get by this. First, you can create an isolated domain in a development environment, or even create a production domain that they can have admin rights to - other than the corporate production domain. Adding developers to the production administrative group is dangerous and all too often leads to problems. Just a few weeks ago at a friends company, a developer went into MS DNS and wanted to change a DNS entry, and ended up deleting several entries that brought down the Exchange server. At that same company a few months back, another developer wanted to add a static entry in DHCP but accidently deleted a scope that brought down a production site. There's just too much freedom for error.

    1. 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
    2. Re:Under no circumstances by tepples · · Score: 1

      Under no circumstances should any developer in any organization today have corporate production administrative rights.

      Other than perhaps a sufficiently small organization, right?

    3. Re:Under no circumstances by Anonymous Coward · · Score: 0

      and the answer is, in my opinion, that having local admin rights is OK, but should be tied to a ticketing/logging system. Most things should be done with regular access, and every use of privilege escalation should be logged against a task.

      This way, at least if something goes wrong, everyone knows what actually went wrong, why, and how to avoid it in the future.

  25. 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?
    2. Re:Conflict of interests by cbciv · · Score: 1

      [...] being on the short list for the which hunt [...]

      Would that be the hunt for which person person to blame? The one with the pointy nose and evil cackle, perhaps?

    3. Re:Conflict of interests by PitaBred · · Score: 1

      Which witch is which witch?

    4. Re:Conflict of interests by cbciv · · Score: 1

      That should be "which person to ..."

    5. Re:Conflict of interests by dkf · · Score: 1

      ... being on the short list for the which hunt when something enviably goes seriously wrong...

      Why would you envy something going seriously wrong? Is your life really that fscked up?

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    6. Re:Conflict of interests by selven · · Score: 1

      I think he meant "inevitably".

    7. Re:Conflict of interests by MobyDisk · · Score: 1

      Nobody mentioned anything about production machines.

  26. I give developers admin rights by citking · · Score: 1

    I give them admin rights with the agreement that, if they mess something up on their computer, they are on my schedule to be fixed (i.e., when it is convenient for me, not for them). So far I haven't had any issues whatsoever. Then again, we are a pretty small department.

    My personal thoughts on the matter are simple: If the IT staff feels they can trust someone with local admin rights then that person should have them if necessary. If that person messes something up, even if it is unintentional (malware, deletes the boot.ini file, etc.) then they lose the privilege.

    --
    "This food is problematic."
  27. Yes by pmontra · · Score: 1

    Yes at every company I worked at (150 to 50k employees). One large company had a developers and non-developers environment, both without admin rights but developers could ask permanent admin rights if they could demonstrate that it was required by their job. All developers asked their bosses, bosses did the paperwork and developers got admin rights. Not sure that everybody really needed it as most of us didn't write a single line of code but actually managed contractors that did the job using their company's pcs. For sure we enjoyed the ability to install whatever we wanted on our notebooks that often were our home computers too. By the way, guys with admin rights had to fix of anything going wrong with their pc because requests for assistance would be billed to the budget of the company unit they belonged to.

  28. You mean the root password? by Nicolas+MONNET · · Score: 0, Offtopic

    Me I just overwrote the Windows disk with a fresh Linux install of my choosing. I got to pick the root password.

    1. Re:You mean the root password? by GiovanniZero · · Score: 1

      They're writing windows software. That may make your strategy a little more difficult. Also, most large companies have a problem with you installing your own OS on company computers...

      --
      Mod me up, mod me down, do your worst you modding clown.
  29. 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 carlzum · · Score: 1

      I'd say that's the only solution today. Every desktop on the corporate network is a "production" system, and that's a risk even if users have good intentions. Developers can do their work better with a virtual image on a secure VLAN. It's more secure, easier to administer, and provides an environment more similar to the production and test servers than a desktop.

    2. Re:Virtualization is your Friend by flabbergast · · Score: 1

      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.

      There are cases where this is a necessity though. For instance, my work is with CUDA/OpenCL and that requires access to "the bare metal" so to speak. Or anyone who works with an FPGA. Or Cell. Or driver development. And even though virtualization is pretty good, it isn't perfect either and can have its own issues (I've had my fair share). But, for good portion of programming (I'm thinking web development, GUIs, etc), virtualization is an excellent solution.

    3. Re:Virtualization is your Friend by Comatose51 · · Score: 1

      VMware even makes a product just for that use case: http://www.vmware.com/products/labmanager/

      --
      EvilCON - Made Famous by /.
    4. Re:Virtualization is your Friend by Anonymous Coward · · Score: 0

      As a developer: if you made me use a VM for dev work, I'd leave your company. I mean that.

      Using a VM sounds like a great idea until you want to compile anything non-trivial. Then you're just wasting time by not running directly on metal.

    5. Re:Virtualization is your Friend by syousef · · Score: 1

      Sure, if you're willing to spend as much on a dev workstation as you'd normally spend on a server. Have you ever tried running Eclipse and Weblogic in dev mode inside a VM? You might deploy to a Prod or Test environment once every couple of weeks at most. On a dev box you might be doing so more than once an hour. As it is developers are starting to hit memory limitations that are going to require a move to 64 bit to resolve.

      --
      These posts express my own personal views, not those of my employer
    6. Re:Virtualization is your Friend by Anonymous Coward · · Score: 0

      I worked for a company that tried to lock me down. I put a trojan in the code for our product that gave me a back door into every machine in the company. I used my back door to steal everyone's passwords and to establish several other entry mechanisms in case they tried to lock me down again. Doing all this set me back about a week, but I was much more productive thereafter. I later told management about it. To my shock, they were impressed that I wouldn't allow anything to hinder my work, and they promoted me. I'd bet most places would respond so well, but I would never tolerate a company that treats me so poorly that they won't give me full access to the hardware.

    7. Re:Virtualization is your Friend by CodeBuster · · Score: 1

      It is not always a question of need, but sometimes one of simply accommodating a reasonable wish by developers for complete control over their workstations. In my experience, most developers tend to think of their workstation, configurations, and software in much the same way that a master craftsman would his personal tools. Developers are generally logical and practical people, so if you indulge them on their own workstations, servers, and subnets then they will usually understand and respect your decision as a system administrator to firewall off those parts of the network (i.e. "devland") from the rest of the production environment. Personally, my sysadmin loves the fact that I maintain my own workstation, servers, and (small) subnets. I haven't caused him any extra work in the three years since we began the arrangement. Now, I understand that not every corporate user is willing or even able to handle this level of IT responsibility; but IMHO devs are usually good to go with taking care of their own so why not make them happy?

    8. 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.

    9. Re:Virtualization is your Friend by Anonymous Coward · · Score: 0

      You know that it is pain in the ass develop software under virtual machine. Many developer tools need lot of memory and processor speed.

    10. Re:Virtualization is your Friend by Cederic · · Score: 1

      My team doesn't do development and doesn't do system admin. We also happen to have the skills in the team to build and replace any system in the company, from the tin to the UI, including the storage, networks and telephony.

      We demand local admin access and get it, because frankly we're good as a team to do any job in IT (and between the team have done every job in IT, below IT director - but we're already operating at that level compared with smaller organisations).

      Sometimes our kit goes wrong. Occasionally (but rarely) it's our own fault. Unless we need new parts or access to production settings we don't have, we fix it ourselves. When the issue needs access to (e.g.) a domain controller, we log the helpdesk call and give step by step instructions on how to fix it.

      Should we have admin access? Probably not. Are we more effective as a team by having it? Definitely. Is it better for the company for us to have this access? The CIO (that signed it off for us) agreed.

      Would a VM work? Frankly, no. Especially as a developer, but even in my current role. The whole benefit of modern software systems is their integration, and isolating half your tools in a VM breaks that.

    11. Re:Virtualization is your Friend by wwwillem · · Score: 1

      Agreed, I did OS/9 diskless real-time programming in the past, or sw development for robots as another example. For that you need root access. But anyway, you will not (you even don't want to) do that type of development on the same PC you're using for email.

      As you also said, the majority of developers are doing stuff ranging from VB, Java to SQL, which can happen nicely in a VM

      --
      Browsers shouldn't have a back button!! It's all about going forward...
    12. Re:Virtualization is your Friend by Anonymous Coward · · Score: 0

      Computer games, and similar visualization software.

  30. 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.

  31. Yup! by djdbass · · Score: 1

    Developers have their machines; I have the servers. How could it be any other way?

  32. 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
    1. Re:It's Target. by HikingStick · · Score: 1

      The VM and temporary share solution sounds wonderful, but most organizations that are cracking down on Admin rights likely also will have disabled file and printer sharing.

      --
      I use irony whenever I can, but my shirts are still wrinkled...
    2. Re:It's Target. by girlintraining · · Score: 1

      The VM and temporary share solution sounds wonderful, but most organizations that are cracking down on Admin rights likely also will have disabled file and printer sharing.

      If you have physical access to the machine, you can edit the registry -- make a copy of the hashes for the admin account, then clear them. Add your own account, and then put the hash back. You'll have local admin, but no domain rights beyond that which the machine has.

      --
      #fuckbeta #iamslashdot #dicemustdie
    3. Re:It's Target. by Mr.+DOS · · Score: 1

      VirtualBox can set up a "shared folder" that appears as a network share in the VM, but is just a normal folder on the host.

            --- Mr. DOS

    4. Re:It's Target. by Comatose51 · · Score: 1

      VMware's solution for test and dev allows you to access the VMs over your browser: http://www.vmware.com/products/labmanager/

      --
      EvilCON - Made Famous by /.
    5. Re:It's Target. by Anonymous Coward · · Score: 0

      I run a network much larger than Target and If I caught someone putting a machine on my network without connecting to the domain, i would have them fired. We use NAC so that no one can even connect unless someone from IT sets them up. This includes Developers and especially apple users. This is the best way to handle large computer deployment situations. You can not trust the end user to manage their updates or software. I manage over 25,000 desktops and none have local admin rights and our it department is only 18 people. The people complaining are obviously not real admins but rather end users that always complain instead of seeing the big picture.

    6. Re:It's Target. by nine-times · · Score: 1

      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.

      I don't think that's unique to Target. You generally should remove admin rights from everyone's machine. It can be tricky with developers, but in general it's the right move. Microsoft may not have advised it back 10 years ago, but today it's common even on Windows. If you can't lock down common users, something is probably wrong.

      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.

      If you think USB devices are harmless, you might want to talk to this guy: link. It's not something that happens every day, but it might give you an idea of why IT people can be such controlling pricks. They're trying to prevent a million possible problems by controlling all the variables that they can. The poster's MBR problem might be pretty rare, but there are tons of ways that a person can screw up their own system or violate security policies using a simple USB key drive.

      It's entirely possible for security to be too strict for the circumstances, but trying to dissuade use of USB drives isn't totally stupid.

    7. Re:It's Target. by girlintraining · · Score: 0

      It's entirely possible for security to be too strict for the circumstances, but trying to dissuade use of USB drives isn't totally stupid.

      It's not real security though... there's no such thing as client-side security. It's an illusion.

      --
      #fuckbeta #iamslashdot #dicemustdie
    8. Re:It's Target. by Cederic · · Score: 1

      My organisation has USB drives disabled on every desktop and laptop, unless you have written permission from a board member. (In context, there are thousands of employees and only a handful of board members).

      This is an absolute pain, but is quite simply by far the easiest way to prevent accidental loss of data.

      When that data can include our customers' financial information (which it easily can) it's hard to argue with taking extreme measures to protect it.

      We also disable wireless network adaptors in the laptops, which is a far more contentious cost/benefit trade-off.

    9. Re:It's Target. by Strange+Attractor · · Score: 1

      The Los Alamos National Laboratory addresses the USB menace by encasing the physical ports in epoxy.

  33. "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.

    1. Re:"Standardization" by Anonymous Coward · · Score: 0

      I work in an organization that does this to a large degree. Instead of costing about $7.50 to avoid/resolve said problem without comment by granting IT staff sufficient rights to just f'ing do their jobs start to finish, we end up spending $7,500 worth of time bitching at each other about policies and procedures involving a half dozen people in a sixteen hour task that would take one person five minutes.

  34. Not everything is perfectly virtualized by tepples · · Score: 1

    this is what desktop virtualization is *for*. use vmware workstation or virtualbox and test away!

    And then the program fails because it can't see hardware that the VM doesn't properly virtualize, such as USB devices or 3D capabilities of the video card in low-end VM software. High-end VM software, which can virtualize these devices, is nearly as expensive per seat as a nettop, and the nettop comes with a free copy of Windows anyway.

  35. It depends.... by cts5678 · · Score: 1

    On their personal laptops, yes they do. On servers or laptops used as test machines, no. Think about the security concepts of least needed access and separation of duties. On their personal laptops, they may have a need for being able to quickly and freely do certain things. But once you get to anything approaching production, they need to be locked down.

  36. Yes by Anonymous Coward · · Score: 0

    Yes

  37. Dev verse Production by TechHSV · · Score: 1

    Give them admin access to machines on the dev network, but not on the production side. Development shouldn't happen on the production network. Many developers don't realize that when on the production network they can take down the entire network by downloading some crazy app or better yet screwing up code that floods the network. Setup a lab network behind a firewall, then allow ssh traffic and maybe a few other ports to allow controlled remote access. If the developers screw something up, it just takes down their lab network.

  38. Another example of how r-tarded management is now by Kungpaoshizi · · Score: 1

    The international company I'm at, was talking about taking it further than this, and removing admin rights from the IT staff... Yes, I believe managment degrees need to be a Masters or PHD ABOVE what they know, not a degree to be in charge of what they don't know. Right now it's like "goto college for 2 years and qualify to be the General of our armies" Another pitfall of a truly ignorant society.

  39. 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 Anonymous Coward · · Score: 1, Insightful

      It's okay, you're allowed to swear on the Internet.

    2. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      The same happens with dpkg/rpm. They're packaged for system-wide install, so require root access.

    3. Re:What it REALLY comes down to by mr+exploiter · · Score: 1

      Hear hear,

      And the "Windows Way" means you can not move or restore applications by just copying a directory. No, you must "install".

      This is partly why Windows admins have only one application per (virtual) box, and Microsoft rubs their hands knowing they sell an OS for each application instance.

      Debian packages need root access to be installed, as solaris packages, as ... ok I think almost all unix do this too. That's why this is called "the windows way"? It sound's like you don't have a clue.

    4. 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?

    5. Re:What it REALLY comes down to by Jaime2 · · Score: 1

      Microsoft's current recommended platform for business development is ".Net". .Net desktop application can be simply copied to a folder and run. However, the stuff that makes applications easy to support is where the problem lies. For example, to properly log to the Application log in a way that can be searched and filtered, you need to add an event log source to the system. This can be done on the first instance of a logged event, but then the user would need elevated rights. So, we make installers that create the log source on install. No sane Windows developer has put anything they wrote in the system32 folder for the last twenty years. Another note is that .Net applications use a config file that resides in the same directory as the application by default.

    6. Re:What it REALLY comes down to by vjoel · · Score: 1

      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?

      The difference? grep, sed, find, diff, git, tar, rsync, ....

      --
      What part of `yes no` don't you understand?
    7. Re:What it REALLY comes down to by evilviper · · Score: 1

      For the same reason that most other operating systems, including most flavors of linux, requires admin rights to install software.

      NO UNIX SYSTEM REQUIRES ADMIN RIGHTS TO INSTALL SOFTWARE. End of story.

      Sure, the DEFAULT behavior is to install it system-wide, but with just a single flag, you can install every piece of software in any random subdirectory you want... generally $HOME/XYZ, or /usr/local/XYZ

      Yeah, one directory, like... "Program files"? Every program installs to Program files by default

      No, they install under Program Files\XYZ, and Program Files\Common, and in the registry, and in various folders in \Windows, etc.

      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?

      The registry is several times larger, requires several levels of indirection, is stored in a proprietary binary database format which can't be accessed by any application (see 'diff'), and is stored in a few very large files which are highly subject to corruption, hence every version of Windows since 98 saving 8+ copies of it.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    8. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      The registry is pretty much unreadable? How is {qwerlajsdf;lkajsdf;ljqwieru1293421934213} in any way supposed to relate to what it actually does on my machine?

    9. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      I do have to agree with Anonymous, I miss the old DOS days when every application was a single folder. Installation and removal was nothing more than simply copying a folder or deleting it. There was no need for installers or package managers as everything was plain in sight.

      The entire add/remove tool in Windows is nothing more than rundll32 executing some stub that reads a couple keys from the registry. Its so outdated that the disk space field is 32-bits and thus overflows when you pass 4GB. Just this little tool alone will never justify the registry in my opinion.

      In the last decade I observed registry usage by tons and tons of applications. Generally they do so for two reasons:
      1) To try and hide settings for users.
      2) Because the app is entirely made out of COM(+) and has a gazillion GUIDs it needs to offload to even function at all. (Microsoft products such as Office and Visual Studio are notorious for this)

      Even worse, I've seen loads of software creating keys in the registry. Followed by de-authorizing the administrator account from touching those keys. Its really lovely when some uninstaller fails and you have to manually re-authorize yourself to delete their mess.

      The Program Files folder is a nice idea, but in reality it is just a complete clusterfuck. Every application must default to installing on %PROGRAMFILES%. Even modifying that environment variable wont work in most cases. When you are one of those few people that place their regular files on a different partition than their OS, it gets even worse. Creating a hard link (yes NTFS supports it) and/or mounting that partition on %PROGRAMFILES% might work on the surface. But when for example some app needs more disk space than the system partition has, it will fail to install. Of course, completely ignoring the actual space available on the mounted/hardlinked partition by design.

      At least with Linux apps you have a general idea of where certain parts are installed. On more than one occasion I had to hunt through my entire filesystem just to find where it placed a savegame or a datafile. Last time I was hunting for a missing/misplaced file that some application needed. Is it in the installation folder? Nope, Program Files? Nope, Common Files? Nope, Administrator? Nope, All Users? Nope. The file ended up being in the root of the installation drive because of a bug in the installer... shrug

      Oh, and please don't get me started with installers. There are a million out there, and every company wants to try and roll their own. What happened to the good times of simply unpacking a compressed archive? Which is, exactly what most of them do anyway! Some publishers don't even bother to compress their products as the installation disk is "big enough", regardless that it increases installation time.

    10. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      No sane Windows developer has put anything they wrote in the system32 folder for the last twenty years.

      Im pretty sure that ATI's Radeon Windows driver places dozens of translations and other data files in the system32 folder. Sure, the driver belongs there... But all the other files for their fancy display configuration sceen? Even when selecting the standalone driver, all these extra files STILL get copied over.

      Its too bad I no longer have a system32 folder or I would give you 10 more examples.

    11. Re:What it REALLY comes down to by xZgf6xHx2uhoAj9D · · Score: 1

      For the same reason that most other operating systems, including most flavors of linux, requires admin rights to install software.

      Depending on what you mean by "install". I can't think of a single problem I've had going the "./configure --prefix=$HOME ; make ; make install" route.

    12. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      NO UNIX SYSTEM REQUIRES ADMIN RIGHTS TO INSTALL SOFTWARE. End of story.

      What happens when the required version of glibc (or whatever) is not already installed?

      No, they install under Program Files\XYZ, and Program Files\Common, and in the registry, and in various folders in \Windows, etc.

      MS has clearly documented the few places that installers and applications should place files depending on usage since at least Win2000, and that doesn't include the system directories for most applications. Some application installers, including Adobe's and Microsoft's own, violate those restrictions, and there are exceptions for drivers, services, and so on. The fact that many authors ignore these restrictions is not Microsoft's fault, although they could have more forcefully "encouraged" devs to follow the rules.

      With respect to the registry, only COM applications and special applications (drivers, CPL applets, services, etc.) truly require that; even COM binaries don't really require it any longer. Many apps might use (or abuse) the registry, but that's also not Microsoft's fault.

      The registry is several times larger...

      Is it really? For most file systems on modern size volumes, consider how much on-disk space is taken up by multiple conf files, each taking up at least one file system allocation unit no matter how small they are. Even if the registry is significantly larger, modern disks and memory dwarf it, even on badly polluted systems. Since it's organized hierarchically, the size usually isn't a practical issue either.

      ...requires several levels of indirection...

      I don't know what you mean here. If you're talking about COM component registration or something along those lines, then that's a consequence of how COM is defined, not the registry.

      ...is stored in a proprietary binary database format...

      If you object to "proprietary", maybe you should skip Windows altogether (I suspect you already have). If you object to "binary", I won't argue, but I've never understood the *nix fetish for text uber alles. I'd agree it's very convenient to view configuration with any text editor that's handy, but that's merely a convenience and regedit.exe is a built-in viewer.

      ...which can't be accessed by any application (see 'diff')...

      If you need to use text-based tools such as diff, export the registry sub-trees in question, and diff the text output (or do whatever else you need to do, like check in to SVN). Windows regedit.exe is built-in and scriptable. If it's not flexible enough for your needs, writing a simplistic tool is almost trivial - the registry API is small and easy enough to understand. Scriptable tools better than regedit don't exist because Windows lacks a strong CLI tradition and most people don't need one enough to justify the effort; if you created such a tool and put it on sourceforge, I bet you'd find both interest and appreciation.

      ...and is stored in a few very large files which are highly subject to corruption, hence every version of Windows since 98 saving 8+ copies of it.

      Well, stop using Win9x. Once I switched to Windows NT 3.51 in 1996, I pretty much never used any Win9x OS again except for deployment testing, and lots of problems disappeared. I've never had a corrupted registry on any WinNT OS. Every time I've seen one on someone else's WinNT box, it's been because of: 1.) dinking with parts of the registry where they had no business dinking (and running under limited user accounts would prevent most of it); 2.) failure to secure the system and getting hosed by malware (or downloading and running ParisHiltonNude.exe and other stupid shit); 3.) bad non-HCL drivers, poorly written services, etc. (don't download and install random shit).

      - T

    13. Re:What it REALLY comes down to by evilviper · · Score: 1

      What happens when the required version of glibc (or whatever) is not already installed?

      You install it under the same prefix (eg. $HOME) and set LD_LIBRARY_PATH= to point to it.

      Many apps might use (or abuse) the registry, but that's also not Microsoft's fault.

      The fact that it's a sprawling, impenetrable, undocumented, fragile mess is 100% Microsoft's fault.

      I've never had a corrupted registry on any WinNT OS.

      You've had tremendous luck. Or perhaps more likely, you've failed to attribute some random failure of a long-installed application, system, or driver, to the registry corruption that was, in fact, the culprit.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    14. Re:What it REALLY comes down to by jimicus · · Score: 1

      Most Unix applications can be installed in ~/bin and can be told to look in places other than /etc for their configuration.

      There is a huge number of Windows applications that simply won't work if you try and do anything analogous on Windows.

    15. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      What happens when the required version of glibc (or whatever) is not already installed?

      You install it under the same prefix (eg. $HOME) and set LD_LIBRARY_PATH= to point to it.

      Thanks, I didn't know that (I use Linux only infrequently).

      The fact that it's a sprawling, impenetrable, undocumented, fragile mess is 100% Microsoft's fault.

      I guess we'll have to agree to disagree on the registry. I like having a centralized hierarchy available for storing configuration. I haven't found it to be any of the things you've described, although the documentation of some parts could be better.

      You've had tremendous luck. Or perhaps more likely, you've failed to attribute some random failure of a long-installed application, system, or driver, to the registry corruption that was, in fact, the culprit.

      I've never had that problem with apps, nor AFAIK have any of the other Windows developers I know. My wife's laptop hasn't had such problems either, and she's definitely non-technical, but her laptop is less than 5 years old, so nothing on it qualifies as "long-installed". The only troubles I've had with long-installed applications becoming unstable is MS Office, and that's almost certainly due to having multiple versions installed at the same time (I have to have available whatever my clients might have). When that happens, I uninstall then re-install all of them; no permanent registry troubles from it.

      I have had a couple of long-installed drivers go strange, usually after applying an OEM update. AFAICT, these were due to poor installers failing to adjust the registry settings properly - that could have happened with standalone text config files, too. Usually, that can be "fixed" by completely uninstalling the driver, then re-installing the current driver. I've only rarely had to manually prune settings in the registry.

      - T

    16. Re:What it REALLY comes down to by evilviper · · Score: 1

      I have known plenty of Windows supporters for a long time. I've had people tell me their Windows 9x systems just keep up and running for 6 months at a time. I don't know how you respond to someone who asserts, with 100% confidence, that their SUV has gone several thousand miles on a single tank of gas, so I tend to just dismiss such reports out of hand and move on with my life. It's either an issue of non-serious usage, incredible luck, or wishful thinking on the part of the observer...

      After close to a decade with around 100 Windows systems under my direct administration, from NT4 through 2003, I know extremely well the problems Windows has, and there's no shortage of similar reports from those with similarly extensive experience with the platform.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    17. Re:What it REALLY comes down to by Anonymous Coward · · Score: 0

      Fair enough. I can't dismiss your experiences, and I've heard such reports myself, even if they were second-hand or worse. Peace.

      - T

  40. Dev with root? by Anonymous Coward · · Score: 0

    Are you insane?

    1. Re:Dev with root? by mce · · Score: 1

      Dev with root (unix): yes, because - with very few exceptions - development on a unix system does not require root; Dev with local admin (windows): no, because without it almost nothing can get done efficiently.

      That's actually how things were in my previous company. In the very beginning (think before 1990) there were some devs with root, basically because they were also part-time admins. As the unix community grew, all those devs did the wise thing and refused to retain their root privileges: they did not need them and did not want to risk breaking things. Many moons later, Windows entered the picture and all devs had to be given local admin, even the most junior ones. Even so, on the Linux machines that we also introduced nobody outside IT had root. As a Linux dev (at the time) who had an excellent relationship with the IT group and did a lot of admin work for them, I never had root (even if IT once told me they'd trust me with it). Today, I'm a project manager (not a dev!) in an other company, and guess what: I need local admin on my Windows laptop in order to actually get my work done. (OK, I'm not one of those "manage by excel" managers, but even so...)

  41. 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...

  42. Local,yes. by RingDev · · Score: 1

    In every shop I've worked in developers have had local admin rights on their own machines, and possibly in the development environment.

    I have been in 2 shops where the developer machines had been locked down as well as desktop users. But it didn't take long for that to change as the support desk was fielding dozens of issues each day from developers not being able to perform needed tasks (this was back in the PB/VB5/NT days).

    But developers should never have admin rights over production hardware, OS's, or databases. Where I work now, we have free reign over the dev environment. We can do what ever we want and not tell a soul. If anyone is running production apps that hit the dev environment, it is a critical failure on that developer's part, not on the part of the person rebooting the dev box. We can change database schemes, install new apps, run windows update, all the usual stuff. From there we have a staging environment. The staging environment is slightly more locked down, we can still do almost everything we did in the dev environment, but all changes and reboots have to be communicated so that all other departments that may be deploying and testing are aware of the changes. After that is the production boxes. We do not have rights to get into these machines. We write up instructions and submit tickets to the support staff for deployments to these servers. All those deployments run on Thursday nights after a week long "train" process that involves IT managerial, tester, and power user sign off.

    -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
  43. Curiouser and curiouser by Kisama · · Score: 0

    I work for a state agency, and surprisingly *everyone* here has local admin. This is a stark contrast from when I was enlisted, as not even Help Desk or Server Room had admin rights anymore as they had consolidated everything upchannel.

  44. Sort of by Anonymous Coward · · Score: 0

    For windows, by default no. You can programaticly acquire a local admin account, but doing so is also an opt out for a good chunk of IT support.

    For linux, you almost certainly have full sudo rights for the box under your desk (and could get root trivially since you have physical control of the box).

  45. 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.

    1. Re:Information Security 101 by HikingStick · · Score: 1

      I'm sorry, but I'm guessing that you've not spent much time supporting software developers in a Windows environment. That best practice (no admin rights) is great in theory, but it can cripple a Windows developer. If concerned about security, isolate them on a seperate VLAN, or implement other compensating controls unless you want to go through the hoops of setting up granular security for every one of the tools they use and the circumstances they may encounter.

      --
      I use irony whenever I can, but my shirts are still wrinkled...
    2. Re:Information Security 101 by Anonymous Coward · · Score: 0

      Great in theory. Ever really try this in Windows? I think Microsoft solved this in Vista though. I think it's called UAC.

    3. Re:Information Security 101 by incongruency · · Score: 1

      But what if their tasks with no work-arounds are what they do all day long? They'll stay logged in as administrator all the time. So why even bother with the limited account in that case?

  46. I work in infosec by Lord+Ender · · Score: 1

    I'm in IT security at a large American software company. Some of the guys I work with want to remove admin rights from every system. These are the sort of guys who think the job of IT security is to make paperwork and avoid responsibility at all costs. I'm more of a developer, myself, and I have been able to keep admin rights for developers, but only after much arguing.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
  47. Euh, vmware? by bomek · · Score: 1

    Why not use vmware or similar?

  48. Developers do NOT need Admin access by RaBiDFLY · · Score: 1

    Recently I've been tasked with network administration (I've been an admin for over a decade but this is not what I was hired to do).

    The first thing I did was remove all local and domain administrative privileges from IT and senior Management.

    The only person it effected was the IT Director, and once I made the appropriate local file permission changes it was fine.

    A few weeks later he found he was missing access to one directory he needed so I logged onto the admin share c$ and gave him access. He was shocked I had remote access to view his files. This was a great boost as to why I have revoked administrator privileges from numerous people (I think I saw him breath a sigh of relief).

    Anyway, the administrator access removal has not effected the IT Development team one bit. Once they have all the apps they need installed on their local workstation, and server level access configured for directory/file permissions, they're good to go about their development without a care.

    Dan

  49. Heck, with Visual Studio, its nearly required! by LS1+Brains · · Score: 1, Informative

    Who here, at some point in developing with Visual Studio, NOT seen it pop up that stupid message saying you have to run the IDE with administrator privileges for something or another?

    Here's a quick link with just a few of the examples:
    msdn.microsoft.com

    1. Re:Heck, with Visual Studio, its nearly required! by shutdown+-p+now · · Score: 1

      All of things listed there seem to do with system-wide deployment of binaries, which makes sense; you can perfectly well write code, compile it, and debug it without being an administrator.

  50. 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.........
  51. 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.

    1. Re:Local admin rights? by adosch · · Score: 1

      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.

      Ok, so a virtual machine can be created on the fly with a few mouse clicks (and blown away just as easily), but I guess I don't see your point? Virtual Machine or not, you still have an OS to administer and apply your operating/security guidelines to. And if you have a stream-lined IT shop, then maybe the distance to walk to go power on the physical server might be the only deterrent.

      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.

      Totally Agreed. It seems like in any development environment I've had to set up for Project XYZ or Prototype ABC, the separation and security needs to be there, but it seems it's always a rush job and Manager John Doe wanted it done "yesterday" when you found out about it "today". If you get development environments without the permission(s) to do their job, then you need a better SysAdmin or at least one with a better clue.

      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.

      You hit the nail on the head. A lot of sysadmin's I've come across really lack a good wide-range of knowledge in areas they are getting paid to support and in turn, the Lone Ranger SysAdmin, who actually knows his stuff, gets stuck with it all. If you're organized, then it's just your time that gets stretched and your plate gets bigger. I know SysAdmin's can be way egotistical but I take a different approach and have a really good working relationship with my development team(s). I learn off them (e.g. new web technologies or the programming-language-of-the-day) and they learn from me (e.g. we got it set up, but now let's secure it, lock it down, establish user/group policies and get you access to what you need). It's almost impossible to know everything anymore and specialty positions are dwindling bigtime in the IT industry. If you're not a Jack-of-all-trades with a good head on your shoulders, then you're more able to sink quicker than swim anywhere anymore.

    2. Re:Local admin rights? by xiong.chiamiov · · Score: 1

      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.

      VMs generally restrict a lot of keycombos, which is deathly important to some of us.

  52. 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.

    1. Re:That's what sudo is for by Anonymous Coward · · Score: 0

      but you still have the right to elevate to run an installer.

      And why would i need to elevate my privileges if i just want to install an app for myself ?
      For what I know, only OSX provides this feature but with all those installers out there, i sure hope it's gonna stay that way.

      The other day i tried installing a game (Dragon Age not to name it) and it downright refused to install in my home folder !
      I can't find any decent reason why i wouldn't be allowed to do that.

      Let me install apps in my account folder damnit !!!

    2. Re:That's what sudo is for by tepples · · Score: 1

      And why would i need to elevate my privileges if i just want to install an app for myself ?

      Because the app depends on frameworks that your administrator has not installed, or newer versions of frameworks than your administrator has installed. Or because your administrator has locked down unknown applications' Internet access because your computer is physically located in an area where all Internet access is billed by the byte, like 3G or Australia.

    3. Re:That's what sudo is for by quanticle · · Score: 1

      And why would i need to elevate my privileges if i just want to install an app for myself ?
      For what I know, only OSX provides this feature but with all those installers out there, i sure hope it's gonna stay that way.

      Unfortunately, this means that the user has to make sure that each individual application is updated once a new version of a shared library comes out (unless the application uses only those libraries which are distributed with OSX. The system makes it easier to install applications but harder to maintain them, since you have to keep track of shared libraries as well as applications. Also, if an application uses a vulnerable version of a shared library, but the developer hasn't updated it, you're stuck with a security hole. On Windows or Linux, updating the shared library would update all the applications that link to it.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
  53. Not only developers by Anonymous Coward · · Score: 0

    I work for a company of ~6500 people, and every last one of them is a local administrator. I work helpdesk, please pray for me/send me booze.

    1. Re:Not only developers by sbeckstead · · Score: 1

      You are in my prayers brah. But I can't send booze as I don't have local admin rights to the liquor cabinet.

  54. Yes : Admin on personnal workstation by AwaxSlashdot · · Score: 1

    This is my 4th workplace and at all, from a 4 persons start-up to a international investment/corporate bank with a 1500 dev department, all dev had Admin rights to his own station.
    In theory, you could be writing software as a simple/advanced user and the IT dept can grant you the exact rights needed to do so. BUT there is a huge amount of complex access rights involved when working on Windows using VisualStudio with no exact list of what are exactly the rights needed. MS tried to simplify the process by creating dedicated groups (like VS Developers group or Debugger Users group). At the end, most of the time, the IT dept simply grant local admin rights to every dev so they are not disturbed every 5 seconds because a very complex to trace access right is missing.

    --
    Sig (appended to the end of comments you post, 120 chars)
  55. Developers Require Local Admin by filesiteguy · · Score: 1

    I have eight developers who work for me, all doing Wintendo development using .net (C#, asp.net), some COM (still!) and even some cold fusion and ADABAS. For the Wintendo systems, they require local admin in order to be able to test installations of assemblies and other DLL files in "protected" areas as well as gaining access to HKLM and other needd registry hives.

    Our users - around 2000 - have only normal user accounts.

  56. How to do it right by fluffernutter · · Score: 1

    Any shop that knows what they are doing would do it this way: - dev environment for devs to monkey around with; seperate network from prod - UAT (and possibly INT) environment for dry-runs of deployments also on a separate network, also used to document said deployments - PROD, accessible only by a handful of staff who follow documentation created above

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  57. Yes, local admin but... by sbeckstead · · Score: 1

    Local admin on the machine I use every day but restricted rights to the domain. Also the on the term servers we have restricted installation rights to allow deployment of our apps. Pretty standard as far as I can tell the last 3 or 4 companies I've worked for worked this way.

  58. Programs should not need admin rights to run by LuxMaker · · Score: 1

    Programs that do are just sloppy/lazy coding. Unfortunately that describes most of the code out there.

    --
    I regret that I only have one mod point to give per post.
  59. Re:Generally, yes FEH! by garyisabusyguy · · Score: 1

    Developers administering PROD boxes?

    Apparently you do NOT go through any SOX or HIPPA audits

    --
    Wherever You Go, There You Are
  60. Nope! by Anonymous Coward · · Score: 0

    The answer is that it depends. Admin on their own workstation, absolutely. Admin rights on a server, not unless they have a really valid reason to violate security policy.

    The code needs to run in user mode, there are few reasons for the developers to run higher than that.

    We have all seen examples of where running in user mode breaks code. There are very few valid reasons for that.

  61. 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.

    1. Re:Development machines are not mission critical by Anonymous Coward · · Score: 0

      In our network environment all users who need admin rights to their machines get those rights through a secondary local account. Their main network account does not have admin rights on the machine. We have an admin MMC that they can run as their local admin account to do things on their machines with admin rights. I am in the IT department so I have to maintain these standards that came down from management. I agree that developers need admin rights in some situations however I have also seen that most developers lack the vision to write their code in such a way that the user does not need admin rights to run their applications. This creates problems when you MUST be an admin to run a piece of software. Even in my position as a Network Admin my main network account does not have admin rights. The only difference between me and any other user that needs admin rights is that my secondary admin account is a network account instead of a local account. This way of doing things seems to work pretty well.

  62. Yes. by clintp · · Score: 1

    Windows Developers need Local Admin access to the machine they write code on, debug, and run their local unit tests.

    When "code goes wrong" not having admin privileges means that some debugging tools are right out. File and Process monitors, network sniffers, and some of the Visual Studio debugging features just don't work without some elevation. This situation gets worse under Vista and Windows 7 (which is actually a good thing for Windows).

    I've had this fight at a few jobs and this is a deal-breaker. Give me Local Admin rights, look the other way while I subvert your system, or accept my resignation.

    Test machines, servers, etc.. no, never. It's not necessary and (in the long run) subverts sane release procedures.

    --
    Get off my lawn.
  63. Gotta have it ... eventually by Thad+Zurich · · Score: 1

    Even some large military networks provision developers with secondary accounts that have local admin rights. The machines on which those accounts are valid get walled off into a "community of interest" that is isolated from the production domain. You can't effectively debug on Windows without those rights. However, it's very important to know where those rights are required and not, and developers should do as much as possible without invoking them. The assumption of excessive privileges has always been a big hassle with Windows. Microsoft started trying to kill that off with XPSP2 and Vista, and they are still trying. Speaking of which, they used to have a white paper (NT4 based) about security in a development environment, does anyone still have a copy?

  64. local admin rights by Anonymous Coward · · Score: 0

    We give developers local admin rights to dev and test, for QA and production environments all changes go through change control. Like others have said I have said I don't trust developers either. Most are clueless, in over 15 years I've only met one developer that actually understands systems administration.

  65. The day I lose Local Admin Rights... by denobug · · Score: 1

    My group does use quite a few non-standard issued software that, for the most part, the rest of the company don't use. Incidentally we also support field techs that are in the middle of nowhere, far, far away from us on those software as well. Based on the control systems our company has acquired during acquisition or what has already in placed, we have numerous systems varied by vendors and even seperate generations of systems by the same vendors. It is actually a great deal of pain to just "upgrade" the system to one platform since our upgrades does involved physical change out and that means lost production time that can be quite costly in a 24/7 environment. We manage and support those self packages (to ourselves or other techs that may have to use it from time to time to support us).

    There had been talk in the past to remove the local admin rights from our laptop in the past (for standard IT policy for all desktops and laptops). Being the fact that we do go off-line during our normal work assignment it is near impossible to do any work, especially having to install/support others and not having local admin right to add/remote software packages. Some of our software packages, in fact, requires a local admin account in order to function.

    The day we lose local Admin privledge is the day we pretty much come to a complete stop. We had this discussion twice in the last few years. It simply comes down to that. We will be responsible for our machines (all of us knows at least how to keep our machine working, hardware and software) and Security leaves us along with the local admin rights.

  66. HELL no. by Anonymous Coward · · Score: 0

    Developers are not admins. Admins are not developers.

    Any time you start letting one do the job of the other it will end in disaster. *Guaranteed*. Developers simply don't understand all that comes with years of doing admin work and the reasons why they have stupid policies and "red tape", and Admins make lousy coders because they don't understand all that comes with years of writing software that actually works and why the quickest easiest script is usually the worst.

  67. Depends by Mathinker · · Score: 1

    A competent developer could mean "competent to win the Netflix challenge" but not be bothered to learn OS-specific peccadilloes. (I agree that they certainly would need to understand totally general OS concepts stuff like what a file is.)

  68. 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.

    1. Re:Worked in Both Worlds... by SaDan · · Score: 1

      You nailed it. I also worked in a company that dealt with a lot of financial transactions in the banking and insurance industries, and all of the separation of duties requirements meant NO ONE had admin on their workstations, even in software development.

      The testing environment was actually run by the server team, and the development team had to effectively communicate how to install and operate the software. This lead to better than average documentation, and less issues once the software was deployed than I have witnessed in other companies.

      The company I work for now does not allow developers local admin on their workstations. They get elevated privileges through their network login, depending on which machine they are using. Dev does not have any privileges outside of the dev environment (ie, they can't even log into the production systems).

    2. Re:Worked in Both Worlds... by Locke2005 · · Score: 1

      Actually, it sounds to me like this corporation was doing things the right way. Unfortunately, most companies are willing to devote the resources required for doing things the right way, and take more of a management-by-crisis approach. When you're proactive and fix every problem before it occurs (with severe impact to productivity) then management starts wondering why they pay you so much when you "never do anything".

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    3. Re:Worked in Both Worlds... by Anonymous Coward · · Score: 1, Interesting

      I work in a similar environment. We dont really have a choice regarding the way of doing things.

      While we have full admin access to the production system getting to it requires a helicopter trip to the oil rig, a trip to the server room, and a permit from the owner ;)

      Right now we use a system of vmware virtual servers for most testing on system functionality with exceptions on the "safety" parts which require testing on identical hardware (down to the bios revision of each network adapter.. anal but needed).

      I personally like it that way. I've made some fuckups and had they been done on the real system I could have caused a multi-million dollar shutdown. I really dont want to do that for obvous reasons :-p

      Most of the software developed require admin rights to even start... so all workstations have local admin unless you ask for a lesser account or make one yourself (some manageres prefer it).

      I dont find the system a pain in the ass. The IT Security people though..... god I hate them. "Firefox is classified as dangerous software due to it being open source. All open source software is by definition not secure due to the open nature of the product. We will not validate any form of open software for use in ***** due to the lack of accountability and control." (not quite the wording, but yeah.... kill me/them now?)

      *goes back to being grumpy*

  69. admin rights on local machine and dev VM by Anonymous Coward · · Score: 0

    They have admin rights on their desktops and they have a virtual machine on a vmware server that they can do whatever with.

    There are a couple development servers that they just have shell access to, or are power users or backup operators to let them start and stop services.

    At one point the director of development asked me to give a developer root access to a server. The dev didn't understand how the mounts were supposed to be setup so he went through and "fixed" the configuration files without commenting anything out or leaving any hints. I had backups of the conf files of course but he messed it up on a friday afternoon.

  70. Hoopla! by Mekkah · · Score: 1

    Most of you are right, dev's don't need admin rights to run their code.. but wtf, they should test this on test accounts anyway.. and it's a hell of a lot easier to install applets and whatnot to help you code when you have admin access..

    --
    ~Mekkah
  71. We have superuser rights for our own machines... by TofuMatt · · Score: 1

    A few developers (i.e. the 5-person team I'm on) in my organization (government) have superuser privileges on their own machines (Macs) and a few of us can sudo on our local Xserve (which is totally internal and run by us/our local Mac sysadmin, not the "corporate" IT folks) to do things like read log files, update MacPorts, etc. We don't have superuser privileges on any of the production servers (though we should have a bit more flexibility than we have on said servers, which could be setup through sudo without allowing us the ability to change software on the machine, etc.).

    --
    -Matthew Riley "TofuMatt" MacPherson
    I have a website
  72. No Way by Anonymous Coward · · Score: 0

    No, why on earth would they need local admin rights? I can't think of single legitimate reason to grant such rights. Testing should be done in the lab and nobody should be installing software on their own.

  73. No, and Yes by ggreig · · Score: 1

    We're a small company, developing on Windows using Visual Studio. Since Windows XP, all our developers work in a normal user account; as nearly as possible they use the same environment the most restricted of our users might, so that dumb security-related mistakes get caught fast.

    Having said that, they also know the local admin account details for their machine, and are entrusted with installing/uninstalling stuff as necessary.

    That differentiation - between the access we allow and what we encourage as day-to-day practice - is an important one. On other OSes you're more likely to be making this differentiation already. If you're using Windows and don't, please consider it. This is a useful resource: http://blogs.msdn.com/aaron_margosis/

  74. QA by Mathinker · · Score: 1

    I'd be more worried about accidentally building in dependencies on "hundreds of small programs" that won't be there in the final environment.

    This is why you also have a QA department which is in charge of installing the dev's work in a "final environment" and checking it.

    (Ironically, we don't have a QA department where I work. /facepalm)

  75. Re:Yes AGREED, 110%... apk by Anonymous Coward · · Score: 0

    "We trust our developers as much as we trust our admins. Actually, I trust our developers more than our admins, but the admins already have the highest privilege." - by blai (1380673) on Thursday December 31, @11:54AM (#30606580)

    Which makes total sense, because, without developers?

    These "admins" (network admins/techs) are MOSTLY imo @ least (and they always HATE when I say this, but it is the truth as far as I am concerned, having been both a tech/network admin (for my first years in academia & the first few out of academia to earn a living))?

    Well - a fact's a fact:

    MOST are just "users with a better password" really (they really don't build a lot of serious code, or larger projects is why I state this (& IF they do anything like coding, it's mostly either SQL, or batchfile/scripts work @ best/most).

    Imo @ least: Coding, & especially @ the "enterprise class" level of development (larger systems basically & with more than just SQL only OR batchfile/scripts work) is the ULTIMATE EVOLUTION of the "computer person" really...

    It really IS much more difficult building a solution, than using what's already built.

    When working as a coder, basically, YOU are the one "inventing" a solution when you code, whereas network techs/admins really MOSTLY only USE what has been invented for they, or others, to use.

    I have called networkers/techs this before in debates over this, & again - they didn't like it much, but, that's only telling me it struck a chord with them (as truth usually does):

    "Network techs/admins? They're just users with a better password"

    And, yes, most don't LIKE that, but... compared to what coders learn AND know (especially what is gained on the job in the actual trenches doing the work)?

    Well... look @ the degree courses track that CIS folks take, vs. those in CSC. That tells you WORLDS, right there... &, most admins/techs I have encountered? They usually don't even have the CIS degree - They usually have an A+ or MCSE type certificate... not actually degrees.

    Now, for those of you that *THINK* there isn't a difference between getting a full-blown degree in CIS vs. just getting a cert? You are SADLY mistake IF you think that is true that A+ or MCSE is as solid & as good a training program as a CIS degree is.

    (& most coders, with a few years to decades under their belts that is, are usually QUITE proficient as network administrators (have to be, in order to DO the job, period))...

    Sure, some folks here may not like what I've said here (the majority, & certainly those who are just admins/techs) but...

    That's about it, when a network tech or administrator is compared to a developer in terms of skills!

    AND, again - I can say this, because I've been both, professionally (tech/administrator/programmer/programmer-analyst/software engineer has been my path since 1994 professionally).

    I say that, because of a SIMPLE fact, too:

    MOST techs/admins really don't function period without the tools that programmers/developers make for them to USE (without which? MOST admins are helpless as babes in the woods).

    Admins & techs? In my experience (16 yrs++ now in the working professional world in this art & science/field, much of which for the 1st 1-2 years was tech/admin, & then later moving up to development jobs primarily & only)??

    Most of them don't code, & imo, they limit themselves in that capacity &, lord only knows why, but, many do so.

    E.G.-> I had a colleague on the job once whom I told "you'd make a good dev" back in 2006-2007, but he replied "I'm not crazy enough to become a coder, nor, would I want to. I am happy where I am"...

    OK - which is fine, I suppose, but... it's a self-limiting viewpoint I felt.

    I mean, why be a techie or admin only, when you can be more + earn more because of it, & strengthen what you may have to offer & use one day, on the job, especially if there are no

  76. as a network admin I say NO! by The-Blue-Clown · · Score: 1

    If I had a nickle for every time i had to go into a system and fix it because some developer screwed up the server I'd be able to quit and buy an island. Developers need local admin rights to development systems only. Not testing, not staging and certainly not production. But I get both on and off-shore whining every single day. Sometime management listens and I get to tell them "See!? I told you so!" when it blows up later. I thank the Lord for VM daily as it lets me repair the damage developers do to our systems in minutes rather than hours.

    1. Re:as a network admin I say NO! by shutdown+-p+now · · Score: 1

      If I had a nickle for every time i had to go into a system and fix it because some developer screwed up the server I'd be able to quit and buy an island. Developers need local admin rights to development systems only.

      I won't ask you to RTFA. I won't even ask you to RTFS. I will just ask you to read the title of the story (you know, the text in the title bar of your browser)!

    2. Re:as a network admin I say NO! by Anonymous Coward · · Score: 0

      If I had a nickle for every time i had to go into a system and fix it because some developer screwed up the server I'd be able to quit and buy an island. Developers need local admin rights to development systems only.

      I won't ask you to RTFA. I won't even ask you to RTFS. I will just ask you to read the title of the story (you know, the text in the title bar of your browser)!

      When a developer logs into a server using rdp then their rights would local to the server they are on. I apologize if I misunderstood.

  77. Yes and No by Anonymous Coward · · Score: 0

    I do some development work in a healthcare environment - I have root on a dev machine and user level access on a testing machine.

    I think you actually need both - the ability to change things for testing and development, and the ability to test on a generic user machine.

  78. Yes at Apple (plus setup and config) by Anonymous Coward · · Score: 0

    All employees setup, administer, and maintain their own machines. Indeed when you get your machine it's in the box (often refurb) and it is up to you to get it setup, download the internal authentication software and connect to the services you need. They really do eat their own dog food and it must save them an amazing amount on IT costs.

  79. absolutely by Anonymous Coward · · Score: 0

    it's interesting. in my area (gov't programming), we have Windows boxes for our documentation and issues software, but we develop everything on Linux (aside from our website, which is .NET based).

    if you really, really need it, they will give you Admin rights on your Windows box, but I don't know of anyone who has ever needed it. I spend 1% of my time on my Windows box. i can see the issues from Linux, and have exported the documents i need so that I can view them in Linux. i use my Windows box once a week to fill out a particular time card (i have 3 of them).

    we all have sudo rights on our Linux box, and Admin rights on Windows are not given out at all. our home directories in Linux are nfs mounted, as well as a few other locations. if it is software that is needed by everyone, it is pushed to a nfs mounted partition, that way everyone can use it (a lot of our libraries work this way).

    our software does a complete reinstall of the OS (RH), has to update cron and do a lot of other things. sudo is absolutely necessary to test stuff out.

    IMO, admin rights can be given to developers. if i need a package installed, and our IT guy(s) are out, then i don't need to wait 2 days to get moving on something.

  80. Huh? by Anonymous Coward · · Score: 1, Informative

    I'm not even sure why this has to be asked. If a developer doesn't have local admin rights in at least some environment where testing can be done, then the developer simply can't do his or her job. This just seems obvious to me.

    Where I work, employees in IT related groups have local admin rights to their workstation. Additionally, we have multiple test environments. We have a development test environment where developers, as well as QA, can do their testing. Then we have a staging environment, which mimics production, where only administrators have admin rights, just like in production, so that the software being developed can be verified to work in such an environment before being moved to production.

    I do work in a very large corporation.

  81. 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.

  82. Seperate Dev/Prod Networks by Anonymous Coward · · Score: 0

    It is absolutely necessary for most developers to have admin rights to download and install software. The problem is that there is also a potential for downloading/installing Trojans. The appropriate solution is to have seperate Development and Production networks.

    That being said... I work for a corporation that does NOT have seperate Dev/Prod networks. Our solution has been to apply for temporary admin access the first time we install some new software (for example, VS2010 beta) and then have the developer create a local admin account to use as a backdoor once the temporary admin access has expired. Not the best solution... but better than waiting for 2 weeks every time you want to install a patch.

  83. 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.

    1. Re:admin rights define corporate culture by Anonymous Coward · · Score: 0

      I have also worked in situations where devs have root access and co-mingle with the IT guys, to no rights and having to have the IT guys assign them the debug privs to their user account in VS.

      After seeing these environments and the politics of each, I think the best environment for development is having the dev lab where they can have root to anything and everything, but they are on a different network segment than everyone else just in case something melts down. This allows them to do anything and everything, and IT isn't going to clean up any messes in their lab.

      The "crash and burn" environment is also a development free-for-all. This environment isn't part of the dev->test->production path, but having a way to test potentially dangerous (but probably very cool) stuff in an environment well away from anything production. If a developer wants to run "dsh -a 'yes > /dev/kmem'" on an AIX cluster, this is the environment where they can do it.

      The test environment is different. Unless there is a reason for it, it should be as locked down as production. So the dev and IT guys hammer out who gets what rights and where.

      Of course, production should be handled fully by IT, or with a dedicated developer liason. This obviously depends on the company. Some companies really have no barrier between IT and development. Others have major divisions, and "neither the twain shall meet".

  84. what type of admin rights? by ei4anb · · Score: 1

    Windows has a variety of rights and privileges (see: http://technet.microsoft.com/en-us/library/bb457125.aspx ) Developers should have debug privileges but should not be full administrators. It always surprises me that administrators do not use the fine grained control of privileges that is available to them when creating groups. When developers are given full administrator rights the users often find that the program will not run propperly under a normal (non-admin) user account. The test group must use accounts that have exactly the same rights & privileges as the eventual users.

  85. From pretty much all places I've been by Kjella · · Score: 1

    ...as a consultant then yes. In fact, often the whole IT department. The desktop guys will wipe and image your installation if you trash it and there's usually installation packages for the main development tools, but otherwise you get no support. It's assumed that if you work in IT you either know what you're doing, or at least you have the good sense to not break what you don't know.

    Why? Simply the rate of tools/users, which makes it very inefficient to do it any other way. For example, I regularly locally use an import/export tool which is only useful to 2-3 people in the whole company and there's a new version with every point release of the server. File a submission form and have an installation package created? Wait for one of the blessed system administrators to install it, who'll do nothing but run around and be internal overhead? Forget it, you trust me to manage a server used by hundreds of people but not my lone box? It's like handing me scalpels with one hand and safety scissors with the other. One thing I've come to accept though is web filters, it's amazing what people will do at work. I don't pretend to be a saint or anything close, but the worst I tend to do at work is read slashdot - the rest happens on my time, my internet connection and my own PC.

    --
    Live today, because you never know what tomorrow brings
    1. Re:From pretty much all places I've been by mlts · · Score: 1

      The best compromise I've seen when it comes to web filters is to have the standard corporate filter for pr0n and the like. This is to be there for the legal eagles and to fill out a checkbox. Then, off the record, is a certain VPN proxy which tunnels to a network outside of the company. This way, if someone does watch what traffic the company is doing, the pr0n traffic won't be registered as going to their IP. Of course, if people overtly abuse the VPN proxy, it can poof anytime because it officially doesn't exist.

  86. 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.

    1. Re:Conversation with the company's head IT admin by SecurityGuy · · Score: 1

      That -does- make sense. Too often, though, the rest of the conversation would go like this.

      "Ok, that's fine. Do you have any OTHER software we don't know about?"
      "No. None!"
      "Ok, we'll do a quick audit and get back to you."

      (a short time later)

      "Well, I'm afraid we found several pieces of additional software. Several were expired trial versions, which according to the license, we're obliged to buy since you continued using them past the trial date. Then there's this other package..."
      "But that ones free!"
      "No, it's free for "noncommercial use", which doesn't cover us. And what about $EXPENSIVE PACKAGE? We never bought that."
      "Oh, that's my own copy. I have a license."
      "Yes, we know. An academic license. It doesn't cover your use of that software here."

      I agree with you in principle. As long as everybody plays nice, there's no reason to lock things down. The people who won't play nice mess it up for everyone.

  87. Yes, they have admin rights by ErichTheRed · · Score: 1

    I'm a client systems integration guy, so IMO it would be a good thing to not give developers admin rights by default. In reality though, they do have them. In a bureaucratic IT world, it just makes them more productive. We've been trying to eliminate admin-by-default for ages, but the supporting stuff isn't in place yet.

    Modern versions of Windows do work a lot better with limited rights, and Microsoft has done a decent job in trying to make the limited-user experience a little more transparent. In a perfect world (which I don't work in,) all software distribution, upgrades and removal would be fully automated through SMS or something similar. Every relevant system setting someone would want to change would be open to non-admins. However, if you work in previous versions of WIndows (XP, 2003, etc,) then some key things a developer might want to do (i.e. start and stop services, install drivers and make registry changes,) require elevated privileges or relaxing system security. Plus, even with compatibility hacks, some older software just won't run reliably without privileges.

    I think developer accounts should be limited rights by default, but they should be allowed access to a privileged account for installations and system changes. The caveat is that developers need to realize they're writing software that won't be used by admins, and have to test anything they write in a limited rights environment. I can't tell you how many (large) vendors I've called while trying to integrate client software into our limited-rights environment. Some are totally shocked that we even have users running without full rights. I've found this to be the case most often with "niche" vendors who aren't making a consumer product, and training companies. The latter seem to just assume that everyone has full control over their web browser settings, can install whatever plugins they want, etc.

    One of the ways we're working around this is using virtual machines for lab work. The developers can mess these up all they want, and restore them if something happens. The catch is that they don't have direct Internet access, which is the main reason why admin rights are so dangerous.

    The problem with running admin-by-default is the amount of damage someone can do, even unintentionally, by using an account that has rights to make any changes. How many people do you know that actually read the UAC or download warning prompts while they're browsing the web?

  88. Kind of by Austerity+Empowers · · Score: 1

    I'm a hardware developer at a Very Large Corporation, and IT would prefer us not to have local admin. However, it's nearly impossible to work like that, so they have set up an automated tool (which basically goes and asks our manager for approval) for granting local admin exceptions on a machine by machine basis. In theory it takes away our local admin powers every month, but in practice, so many people need to have local admin I don't think it ever actually removes local admin.

    You just can't do serious work without being able to install software, install drivers, use remote desktop(!!!!), etc. Not to mention many CAD apps simply don't work if you're not local admin. They tried forcing us off those applications, but we just started using raw OS images and installing a VM with the "corporate OS image". They threatened to fire us, but at the end of the day they need us more than we need them, so we ended up in this hole.

    Honestly, installing your corporate locked down image in a VM is the best way to go anyway. Let IT do whatever they want to that image, they can reboot you, push updates, etc. without disrupting your work. Meanwhile you can set up the OS for your productivity without disrupting them. Yes, it's a flagrant disregard for what IT is tasked with doing, but chances are if you're in a Very Large Corporation, what they're tasked with doing is ridiculous, the number of people assigned to do it is pathetic, and the geographic and linguistic boundaries of that ensure that their mission is defunct. This is probably not ideal behavior, but I consider myself an engineer first and an employee of Very Large Corporation second. Better my job gets done correctly than I invest time in fixing stupid. You can't fix stupid.

    1. Re:Kind of by Anonymous Coward · · Score: 0

      2 MAC's on the same switchport and a red flag goes up on one of my screens. You get called and better have a damn good explanation why I shouldn't turn that port off.
      This being at a sub 500 users company, unautomised this probably doesn't scale very well in lager companies.

  89. 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.

    1. Re:IT isn't allowed to touch my workstation by aquatone282 · · Score: 1

      Wow. Just frickin' wow.

      You must be making bank to stick around a hole like that.

      --
      What?
    2. Re:IT isn't allowed to touch my workstation by rahvin112 · · Score: 1

      The IT manager should be fired.

      If you ever get a real PHB's ear (preferably one that manages budgets) privately for a few minutes you should ask them if they have ever evaluated how much IT taking over someone's machine during work hours costs the company. Don't be confrontational, in fact act stupid, like you really don't know what you are asking and you are truly interested in an answer. Whatever the response is nod, accept it, say thanks and drop it, talk about sports or something else. The question will eat away at the PHB and he'll eventually start asking questions.

      IT should NEVER EVER take over a machine during work hours unless the employee is needed to assist, and even then it should be a scheduled thing. It's been my experience that IT thinks they are important. There is only one business where IT people are actually the people making the company money and that's IT service companies. Otherwise the people they are interrupting are the ones that make the money that pay for their job. IT taking control of a machine for an hour during work hours could cost the company hundreds and even thousands of dollars in lost revenue. All machine maintenance should be done after general work hours, if needed the IT department should work such that one of the IT employees is on staff in the middle of the night to do such maintenance.

  90. In part... by MrWin2kMan · · Score: 1

    On their local workstations, yes. On their development boxes, yes. The Release Engineer should have control over the QA environment. It should mimic production as much as possible, so developers shouldn't have admin rights. On production, absolutely effing not. The world of virtualization has provided new tools and methods to use for development purposes. These should be used to their fullest extent.

    --
    Nothing to see here but us trolls...move along...
  91. Developers need admin rights for their machines by Orion+Blastar · · Score: 1

    if not some of the development tools won't work and nor can they install service packs and bug fixes for their system to test them out.

    If I as a developer have to wait for an admin to install the bug fixes and service packs for me, I'll get less work done and won't be able to function. Also VB 6.0 controls will refuse to work unless I am admin meaning I can no longer use some controls to program with.

    I am not asking for admin rights on the server, just my own PC I am assigned to develop on. Jobs I had where they took away admin rights for my local PC were very hard as they tied one of my hands behind my back and made it hard to work.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  92. Re:Information Security 101 - Yes and No by garyisabusyguy · · Score: 1

    I will agree with you that any machine that is used to run production applications, particularly those attached to the internet, need to follow a strict lock-down. The very first concern should be permissions, permissions, permissions with nobody loggin in as root (admin whatever), using sudo to promote to 'admin' and thorough logging of any escalation of privlidges.

    From a developer standpoint, if somebody is calling me at midnite and asking me to log into a prod box and fix something.... Then there is a hell of a lot more wrong in the organization than a crashed application.

    That said, attempting to enforce that level of security on a pc used by a developer is pretty much an exercise in futility. Either your developer will just 'give up' and let thmself fall behing in tool updates, or they will get 'wiley' and saturate your support staff with calls to perform 'desktop maintenance' until your organization gives in a allows local admin.

    --
    Wherever You Go, There You Are
  93. Yes and No by Anonymous Coward · · Score: 0

    Locally and to the development and staging environments yes, they typically have administrator/root/sudo privileges almost any where I've worked. It's almost impossible for them to do their job well if they don't.

  94. Social engineering attack by bdlarkin · · Score: 1

    It's trivial to get admin priveleges. You are a developer after all. Just develop/package your own backdoor trojan/etc that gets installed with root priveleges. Then get those fancy administrators to install it for you with their admin rights. If they ask what it is, tell them its some libraries for a development project. The number of times you'll be asked will be next to nil though. Voila, you can do what you want after that. Not that I've done it, but on the unix side, you could ask for a sudo exception for a program that's in a directory that's writable to you. Boom you have root any time you need it. You're a developer! Use your skills! Yeah yeah, there are some HIDS systems that will catch this sort of thing, but there are ways around that too. After all your root/admin at some point. If you don't trust your developers with root, then you shouldn't trust their code!

    1. Re:Social engineering attack by funwithBSD · · Score: 1

      Yeah, had a developer that thought he was smart like that. Don't try it around a Sysadmin worth his salt.

      He is long gone, btw. Soon as I showed Security what his software package was doing they frogmarched him off the property.

      --
      Never answer an anonymous letter. - Yogi Berra
    2. Re:Social engineering attack by bdlarkin · · Score: 1
      All hail you! The mighty sysadmin. I'd love to know details, especially since it got him "frogmarched", but it sounds like so much bravado.

      As I said, there are HIDS packages that will track this, as would a competent sysadmin. In my unix example some admins would check permissions on files they put in your sudo list, most don't, especially if they have to do it all the time. The cool thing about social engineering is that you usually aren't even breaking corporate policy, your getting someone ELSE to break corporate policy for you!

      In my experience most admin's aren't worth their salt. I say this as an admin myself but with a developer background. I've been on both sides of the issue.

      There are other ways. Keyloggers,for example. "Hey Mr. admin, it says I need admin authority to do xyzzy, can you enter your credentials on my keyboard here? Thanks very much.

      I don't bring up these examples as ways around security, but rather to bring up the issue of trust. If you can't trust your developer with local admin, you probably can't trust his code, especially compiled code.

      For an excellent example see Ken Thompson's paper.

      Personally, with vmware and cheap hardware it's easy enough to run your own non-corporate image than it is to get around the security, but there are ways. YMMV.

    3. Re:Social engineering attack by funwithBSD · · Score: 1

      Real simple, he put the changes into the latest version of his software pkg (Solaris). Added lines to the end of sudoers file that gave him rights to do just about anything, include changing the sudoers audit log. Then he asked us to install the package for him as root. Red flag went up immediately and I cracked open his files and took a GOOD look.

      THAT is what killed him, fucking with the audit logs on a DITSCAP/DIACAP DoD audited system. The other stuff would have gotten his hand slapped, maybe moved to another project. As Nixon found out, it is not the crime, it is the cover up... giving himself the ability to edit the audit log showed he intended to cover up what he was doing. (Would not do him any good anyway, we send sudo events to a centralized syslog server that no one but the SA team has access to)

      BTW, we have as part of our protocols that all sudo or ssh key enabled scripts are root owned, 700, and go in a specific directory and that directory is scanned to ensure that no one changes the files. They may not call out to user scripts sunless they "su" back to a known user and they may not call in house compiled binaries. All house built binaries must run in userland, not as a privileged account.
      As you point out, you can't trust their code. My experience is that any code written that requires root to install is crappy code. Yes, Oracle, I am talking about you. Talking UNIX here, not Windows. The requirement for local admin for most Windows code is one of my peeve issues with Windows.

      You may think all this is paranoid, and it is. I work for one outsourcer, the devs work for another. IF they fuck up our production machines, we get hit for it, so we damn well make sure they don't do it. No dev has command line access to a production machine, they must run changes to prod systems through the Change control process and Production control. All changes are reviewed. Sounds tedious, but you can throw a lot of offshore resources at the problem considering the fine for failing to meet SLA's up to 5% of the contract value a month.

      Above incident predates that time, but now it would be even easier to get a Dev booted off the account if they tried something like that. The Security team remains on the company payroll for now and finding little stunts like yours "proves" their worth.

      --
      Never answer an anonymous letter. - Yogi Berra
    4. Re:Social engineering attack by Anonymous Coward · · Score: 0

      Excellent examples, and kinda proves the point I was trying to make. If you can't trust them with root then you can't trust their code. He's lucky if getting fired is as far as it went.

      The examples you point out are kind of exceptions to the rule (purposeful security policies, production systems, dev teams different than build teams, etc). The grandparent post was talking about "local admin" so I wasn't really trying to address the production system example but rather the local desktop/dev server type restrictions.

      The requirement for local admin for most Windows code is one of my peeve issues with Windows.

      Agreed and ditto. Security isn't a setting but an end-to-end process.

      Sorry for being snarky before, the "forgmarch" line set off my BS meter, especially in a "local admin" context.

    5. Re:Social engineering attack by bdlarkin · · Score: 1
      Excellent examples, and kinda proves the point I was trying to make. If you can't trust them with root then you can't trust their code. He's lucky if getting fired is as far as it went.

      The examples you point out are kind of exceptions to the rule (purposeful security policies, production systems, dev teams different than build teams, etc). The grandparent post was talking about "local admin" so I wasn't really trying to address the production system example but rather the local desktop/dev server type restrictions.

      The requirement for local admin for most Windows code is one of my peeve issues with Windows.

      Agreed and ditto. Security isn't a setting but an end-to-end process.

      Sorry for being snarky before, the "forgmarch" line set off my BS meter, especially in a "local admin" context.

      And oops on my part for posting the reply initially as AC

  95. Admin rights Shmadmin rights. by Jason+Pollock · · Score: 1

    You're a developer, you have a compiler. IT doesn't realise it, but developers aren't bound by any requirement for "admin rights". If developers want a piece of software, they can just compile it and run it. It's pretty standard security theatre.

    I had a friend working at a company where he didn't have admin rights, and he wanted to run a Wiki. The IT team didn't give him approval, so he downloaded Apache, Python, Perl and a Wiki. Compiled them all and had a Wiki running on his locked down machine within 3 hours.

    Locked down desktops are easily subverted when someone is given a programming language.

    1. Re:Admin rights Shmadmin rights. by Anonymous Coward · · Score: 0

      If you are developing in web applications in APS.Net you need local admin rights to be able to configure IIS.

      As a result, one of my clients gave us VMware to run our development so they could have one image for all hardware and restrict software but still allow us full admin rights. The VM was slow but it got the job done.

  96. A necessary evil... by Anonymous Coward · · Score: 0

    Working at a large financial org as a developer - everyone has to run a windows desktop, even if their deployed code will reside on unix servers. So, we all get admin access off the bat, which is usually required to install the tools (IDEs, testing tools, beta versions of stuff, etc.).
    This becomes evil, as it opens you to drive-by OS infections via the IE and Outlook. Not fun.

    Support is basically if we hose the machine, support will reimage it. If this happens too frequently, admin access is removed, and the developer labeled a 'tard (unoffically of course).

    I would personally prefer two accounts -- one as normal joe user, one as admin, so I can at least dip in and out of admin rights, minimise the risks, but big companies seem to do things all-or-nothing.

  97. Virtual Machine by Theredmonkey · · Score: 0

    Isn't this what virtual machines were created for. Lock down the main PC and let them play in the sandbox? But I am not a developer so I don't know if this would suck or not. At my office everyone has admin rights and it makes life hell.

    1. Re:Virtual Machine by Anonymous Coward · · Score: 0

      Isn't this what virtual machines were created for. Lock down the main PC and let them play in the sandbox? But I am not a developer so I don't know if this would suck or not.

      At my office everyone has admin rights and it makes life hell.

      It's not about "playing", it's about "working". Generally, I need local admin rights to do my job. If I do it your way, I spend my entire workday, every day, in a VM. What's the point of that? Just let me do my job on my actual machine.

      If you can't trust me to not blow up the machine, why do you trust me to write your applications?

  98. Umm... No by tbgreve · · Score: 0

    Not just no but, No Way In Hell!!! Ever!!!

    --
    "Be wary of the man who urges an action in which he himself incurs no risk."

    ~Joaquin Setanti

  99. Re: Unauthorized Production Changes by Anonymous Coward · · Score: 0

    Well, in my environment, many dev's have been outright fired for making production changes without following the change management process. Typically, they do it once, get a written warning and if they do it again, they are fired on the spot! The company has a zero tolerance policy regarding change management. Too many times, production systems went down and cost the company millions because someone made an unauthorized change.

    Everyone is in fear of pushing to production. Now if you have followed the change management process it dictates you must have a rollback plan if anything goes wrong. If it's a high risk change then it needs executive approval.

    Of course, now you just need some little thing that is very low risk and it's a major pain in the arse to get anything done quickly!

  100. Yes we do... for the most part. by whiplash13 · · Score: 1

    I have now been a project manager for 2 Global 200 companies and both gave developers limited admin rights to their machines. They have full rights to install anything on their machine and configure services but don't have the ability to perform user permission changes and such.

  101. It depends by s_p_oneil · · Score: 1

    It really depends on what kind of development they're doing. Speaking as an Enterprise Windows developer who has had to install clean OS's regularly (hurray for virtualization) and test products our with ActiveDirectory integration, I can say that sometimes development groups need their own domain controller to play with. In that case, give them their own domain and consider putting it on a network segment separate from the rest of the organization. Set up the routes and a domain trust relationship that allows them to get corporate email and access shared folders and printers, and you're all set.

    Even if developers don't need their own sandbox to play in and don't know how to administer a domain controller, it may be a good idea to set it up that way for security reasons. Developers tend to be lax about in-house security, and it helps keep systems on the rest of the network from being able to access development files they have no business accessing. If they do any network testing, it also may keep them from killing your firewalls, servers, Internet bandwidth, etc. (that's one reason my group got moved to our own network segment with its own Internet connection ;-) If they do any security testing, they also may install malware on purpose from time to time (that's another reason my group got moved to our own network segment ;-).

  102. Balancing act by EriktheGreen · · Score: 1

    I've worked at places where individual users (developers, engineers, and other tech savvy folks) have admin rights.

    In every case, it's a balance. The ease of getting things done quickly vs. manageability and security of the computer involved.

    If you lock a computer down so the installed apps can be used but nothing else can be installed, it tends to be relatively stable, and you don't get rogue programs installed that cause problems and generate extra work for installers and work disruption for users. The other end of the spectrum means anyone can install what they want. You give rights to everyone and end up with constant rebuilds and virus problems, etc. These can be just minor annoyances or in the worst case can disrupt business or cause legal issues (like loss of private or protected data) that will shut the company down. At the very least they create lots of extra work for someone in the company.

    So, many managers (tech savvy and not) are deciding that they need to lock down control of work computers. Basically, they remove the ability to do anything but run work related applications (centrally installed to ensure licensing works and to make sure everyone has the same version) to simplify support and lower costs (which are a big headache for any IT manager).

    This makes things more complicated for individuals with legitimate business reasons to install software (like dev add-ons or new versions of libraries, etc). In the case of a locked down system, the central authority in the business for support needs to provide a way to respond to requests to install needed software quickly. This can be either an automated system with menus, or an on-call support staff that handles things. With remote access to desktops they can generally get things installed quickly enough that work isn't significantly delayed. If and only if management recognizes that this support is necessary (people hear what they want to hear, and too often management thinks the clamor against locking down workstations is simply bruised egos (see below)).

    This problem comes in when a company decides to solve its rogue software problems by restricting desktop access but doesn't provide any way to request "special" software. Unless your company is very unusual, certain users will need software that's not generally installed everywhere, and not everyone will fit the "standard business software" mold. This is a rough parallel to IT departments restricting access and forcing change control for "production" tier systems without changing their development processes to remove the need for production access. You're left with a choice to either break the rules or not get work done, and god help you if you try to explain things to whichever manager is getting a pat on the back for "securing the system".

    Of course, the reason most people ask questions like the submitter is probably due to ego. The emotion behind the question runs roughly "I'm a smart (guy, girl).. I've been progamming and running my own system since before this OS was released! I don't need a low paid staffer to handle this for me, and you're just slowing me down! I feel insulted by you not giving me privileges and trusting me to keep things working!"

    Having control is a hard habit to break. Taking it away from people who've "always" had it is like introducing change control to a company that's always been a free for all... people see the change as extra procedure being introduced that is unnecessary and slows down "real work".

    The best way I've found to deal with people who want admin rights because their ego demands control is to ask them if they're also willing to accept responsibility for their workstation being productive. The desktop support folks or central desktop team accept this as part of their job.. in cases of heavily regulated industries, there may be legal requirements for someone to be responsible for the integrity of such systems. So once you get the person complaining about a lack of access rights

  103. Local? Try Global.... by bugg_tb · · Score: 1

    I just left a company after 3 years. What amazed me(as a developer) was that not only did we have local admin rights, we had global rights. This was ok for me as I have an element of sysadmin understanding, but my ex boss who used to be an administrator but now runs the BI systems did quite 'get' admin rights and the systems we ran.

    Every day he'd randomly reboot servers, install different software in different places and generally make administration and licencing a nightmare. Also as a developer he didn't really have a clue as to how to organize things properly so things like SQL Server could only run one database on one machine, if he'd actually asked around (ie the sys admins) things would have been far easier, and I wouldn't have quit.

    So in a nutshell testing servers with admin rights, fair enough, online servers with admin rights, don't let developers near them.

  104. No to local PC, Yes to production servers by tonyfugere · · Score: 1

    At my last position I was at a local market level. The local market had its own IT team with security policies given to them by a division team. Division got its policies from corporate. Sometimes things were altered to suit the divison or local market, too. When working there, I had full admin rights to production servers, but not to the PC from which I worked. This was stressful as I was forced to develop in the production environment. It was also ironic that I had admin rights to these servers but not my PC. It was because IT did not have the training or time to admin the servers (SQL and SharePoint). I did my best to have the local IT team install software after software to enable development from my PC as best as possible. After about 9 months on the job, I obtained a development server that I could work from via remote desktop. By then, I had already developed processes to develop from the production server. Also, the development box was SLOW and annoying to use (an old Pentium III box...). This all seems a bit backwards and it took some adjustment, but it worked. I became a hero for being able to manage these servers as well as develop new tools for the local market. I got along very well with the IT department and they were very competent and helpful which made working with them easier. I would have appreciated local admin rights, but the local IT manager was not able to bend the rules for anyone without getting in trouble if audited by division. I am working at the same company at the corporate level after moving up from the local market level. At corporate I have full admin rights to both a desktop and laptop for development. I do not have admin (root) access to development and production servers though. We have a sysadmin team dedicated to protecting our servers from ourselves. Change request procedures ensure the environments are modified properly. For PC support, We have a local IT team that reports to the division office as I sit a thousand of miles from actual HQ. There have been times where admin rights (root) to servers would be nice, but we have 10+ developers relying on that server to be available for work/testing/etc. So, I can understand why the servers must be managed by an SA team. Change requests are simple and usually accomplished in a fair amount of time. For times I absolutely need root access to try out new things, I just build Virtual Machines on my desktop and try before I place a CR for the dev servers. Production CR's are much more strict and those servers never have compiling tools to restrict local users from building binaries that could break things.

  105. Virus Scanning by troll8901 · · Score: 1

    ... one moron who used the privilege to turn off her virus scanning.

    A woman! How old is she, and can I marry her?

    Jokes aside, is there a reason why she turn off her virus scanning? For example, rushing a project, or the hard disk getting slower, or the antivirus somehow screwing up her work, or something.

    1. Re:Virus Scanning by Alpha830RulZ · · Score: 1

      She is about 28, and is really cute, too...

      The stated complaint was that she was having to copy a set of large files around, and it was taking too long. Since I spend a lot of my time copying many more and larger files in the same environment, I'm skeptical of the basis for her complaint. Our AV software isn't too onerous. Her team doesn't work -any- overtime, so I'm unsympathetic.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    2. Re:Virus Scanning by troll8901 · · Score: 1

      What is the end-solution that was chosen in this case?

      • Set a password on the AV
      • Lock the AV down by applying policies
      • Tell the user "just endure - and do not disable the AV again", or
      • Tell the user to copy the files during lunch?

      And to the rest of Slashdot: She's mine - I asked first!

    3. Re:Virus Scanning by Cederic · · Score: 1

      I'd back that up completely. Nothing kills a dev box quite as thoroughly as active AV. Shit, viruses do less harm.

    4. Re:Virus Scanning by Alpha830RulZ · · Score: 1

      Her boss said, "keep it on, and deal with it."

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
  106. virtual machines by Anonymous Coward · · Score: 0

    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.

    A developer needs elevated rights on a virtual machine where they have a saved snapshot they can revert back to in case they bork things.

    1. Re:virtual machines by natehoy · · Score: 1

      At my company, everyone in IT has Admin rights to their own desktop (and no one else does, except for a few rare cases). We also use remote reimage. It can be triggered by the developer or the helpdesk or any of the administrators. If your computer is caught by the central manager with something that looks virus-like, God help you, because you're going to be nuked from orbit, and you'll spend a solid day reinstalling software. If you think you have a virus, you call the helpdesk and the machine starts reimaging about 10 seconds later. All corporate data, documents folders, email, etc are on network drives, so little of value is lost in most cases.

      It gives the developers the freedom to run their own miniservers to test out ideas, do unit testing, try out new tools, etc, locally. It also gives them a "reset" button in case they screw something up. There's antivirus at multiple levels, and no developer has direct access to the data on production machines, so at worst a virus would compromise random test data and maybe some email even if it did get through, and we've got a pretty good active firewall.

      Many developers nuke their own machines between projects so they can start with a fresh slate, and to get the latest and greatest image out there with all the latest stuff. Others stick stubbornly to old images because they have things "just so" and dread the nuking process. We just got a memo from on high that anyone not on the latest image will be remote reimaged soon, so there's much angst and gnashing of teeth.

      It seems to be a reasonable compromise overall. Desktop support only helps us out when we have a hardware problem. The desktop support policy companywide here can be summarized in three words: "Reboot. Reimage. Replace." Developers get the exact same help as anyone else, so if we shoot ourselves in the foot we have plenty of time to admire our marksmanship while watching the reimage screen scroll by.

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
  107. Yes by Anonymous Coward · · Score: 0

    Yes, we have local admin rights, with the caveat that we don't call the help desk for most things. We're expected to fix our machines ourselves, and be responsible if we spread virii or other malware.

  108. We do ! by Dolphinzilla · · Score: 1

    I work for a very large DoD contractor - we are given local admin rights as software developers - note these are only for the local machine.

  109. NO! Are you crazy?!!! by Anonymous Coward · · Score: 0

    I was a cross platform development team lead. We were constantly forced to upgrade systems to faster and faster CPU, Disk subsystems, and more RAM yearly to improve developer productivity. Add new compiler releases and updates to 3rd party libraries that needed to be deployed across 50 developers and you could easily lose a week/dev of real productivity.

    Then we switched to development servers - where the developers used RDP or X/Windows or ssh to remote into the boxes. They didn't get admin and all developers for the team used identical (not just the same) environments. Since some of our contract developers were overseas, this simplified contracts and security requirements too - the code never left our servers. We weren't constantly having to purchase more compiler licenses and other tools either. This is harder with Microsoft tools.

    With server-based development and virtualization, we can cold-backup an entire development environment for a release and keep it around, just not running, for as long as a client is willing to pay for updates or support. If it doesn't happen for 2 years, we didn't waste anything but a few hundred GB of offline storage.

    Server disks connected to SANs with caching are FAST. Faster than any local disks. Compiles are 10x faster.

    IMHO, most current developers that aren't C/C++ seem to be clueless about performance of computers. Developers can lose days tweaking their desktops "just so" rather than getting down to work and concentrating on the important stuff. You know, code comments.

  110. Yes and No by spaceyhackerlady · · Score: 1

    Junior developers: no, unless they had a pressing need for it.

    Senior developers: yes.

    There is a responsibility and trust issue here. If you have root/admin access, the general idea around here has always been "you break it, you fix it".

    ...laura

  111. It really does depend. by SecurityGuy · · Score: 1

    I've been the sys admin. I've been the developer. I've been both at once.

    Security guys tend to forget that work needs to get done. Developers tend to forget that the way they want to do their job is sometimes not allowed (we security guys often don't make the rules, we just get busted for not following them) or is illegal (I don't care how much you need $COMMERCIAL_PACKAGE, pay for it or keep it off my systems). This is not entirely by accident. It's just separation of duties. If you have two important jobs to get done, and those jobs conflict, give them to separate people. If you give the whole thing to developers, they'll develop software and not worry so much about the security bit.

    The general problem is that if you have a set of rules that have to be followed, the more people you need to get to follow them, the lower the chance it's actually going to happen. That's why as processes scale up, you start getting these people the developers see as a waste of time in the loop. In IT, it's system admins and whatever you call your security group. In medical research, it's data managers, who might not be trained to do the research, but can be meticulous about making sure the data bits are done right.

    Personally, I'm happy to give out admin rights to people who use them responsibly, which I define as to do the set of things they told me they need them for, and then only in the furtherance of their actual job, not installing fluff crap they just want, like news(paper) readers. It's sadly a small minority that actually do this.

    Really, both sides just need to listen to each other and show a little respect. We all just have a job to do.

  112. Admin rights to your own machine. by gregopad39 · · Score: 1

    I've been a software developer / consultant over 20 years.
    With each installation we are given full access to our own pc/workstation and have full admin rights to development servers for the project. If production support is required, we are also given access to production systems as well, but this is more of an exception than the rule.

    I recently finished a lengthy assignment with Union Pacific. There are many spart people there - but their security policies regarding developers is something from a TSA screener.

    1. Developers do not have admin access to their own workstations even if they are required to design and test windows services.
    2. Developers cannot perform any task which requires Admin privs on their own machine.
    3. VMWare instances of XP and Windows Server are allocated and developers are given Admin rights to these machines, however the VM infrastructure is so overloaded - login can take 10 minutes or more ( in the DEV environment).

    So - to answer your question - Admin rights NOT being given to developers is the exception. Only in large companies with paranoid and strict policies will you find this to be the case.
           

  113. use a vm by Anonymous Coward · · Score: 0

    at my medium sized financial company, we remove developers local admin rights on their laptops and give them a VM to develop on/break.

  114. Looked into removing... by rwarrenr · · Score: 1

    There are programs where you can at least audit and try to remove some functions (Beyond Trust, etc), but really it comes down to too much work. We force strong anti-virus instead and use Websense to try to capture anything coming in from the web. Their build scripts temporarily disable real-time scan to speed up the builds. Engineers don't have a clue about protecting their systems, they may be smarter than the average Joe, but that doesn't give them an advantage when dealing with system security/updates/etc. In most cases they are worse because they are lazy about updates (yet cry when you force it on them), and they seem to think that everyone in the world is a straight shooter - "oh, we don't need passwords" or "we don't need to limit access". Give me a break...

  115. Re:Generally, yes FEH! by Hognoxious · · Score: 1

    Where does "production" - or any synonym, derivative or contraction thereof - appear in the post you're replying to?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  116. Sometimes... depending on the circumstances by mark-t · · Score: 1
    In my experience, if the development environment is Windows, yes, all developers have local admin rights.

    However, when I worked in a place where the development environment was Linux, no... developers did not have root.

  117. Virus Scanning by KalvinB · · Score: 1

    If you don't want devs turning off virus scanning then don't have it aggressively scanning constantly and don't use bloated junk that takes over the system. Virus scanners are huge productivity killers when not properly configured as they make systems crawl. Check on write and nightly scans are sufficient.

    I turn that crap off too if it's preventing me from doing my job. It can be turned back on at night before I go home so it can do it's thing when it's not affecting my work.

  118. Yes by Anonymous Coward · · Score: 0

    Officially, because my predecessor was too lazy to figure out a workaround for a particular limitation made relevant by the continued use of a decade-old IDE. A workaround it took me 45 minutes to find using ProcMon and Regedit. The real problem is that the developers (all but one of which are not trained developers, but are actually {unrelated discipline} students "trained" willy-nilly by a {unrelated discipline} professor that taught himself {old language} in the mid '80s), are intently focused on results, not process, and are too "busy" to have to remember that if they need to do something administrative, they need to Run As.. and provide admin creds. The whole concept of "admin" is curiously confusing to them; my boss constantly refers to "full admin" as if there were some hidden hierarchy. I constantly remind him that there is just admin and non-admin, and that when I do something particularly magical, it's not because I've granted myself "more" admin rights then I've granted him. It's just that I recognize the difference, and when to use one or the other. After four years, I think he's starting to get it.

  119. Re:Yes AGREED, 110%... apk by Hognoxious · · Score: 1

    Christ on bike, what are you smoking? And where can I get some?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  120. VM? by gollito · · Score: 1

    Isn't that what VM's are for? Give them a sandboxed VM running the corporate image on a server YOU control. snapshots have them back to a pristine workstation after they are done testing.

    On the dev machine, keep that restricted down to the core essentials for development, that way you don't have to worry about a dev system being compromised and having potentially harmful code introduced into whatever it is you are developing.

    Keep the two separate I say.

  121. Why? by Anonymous Coward · · Score: 0

    Why should a developer have admin rights? In some cases, I can see giving them power user rights (for Windows boxes) or restricted sudo rights (for Linux machines). But no one should be running as admin for daily use. Most developers I've worked with were clueless about system administration (I say that as a developer) and most of them shouldn't be trusted with root/admin access. I do development on Linux most of the time and I don't need access to the root account.

    Granted, a good developer will probably find a way to grant themselves admin access unless the system is really well secured.

  122. Workstations in DoD (well my part of DoD) by Anonymous Coward · · Score: 0

    I work for a very large U.S. Government Defense branch as a UNIX system administrator. Our workstation provider provides us development accounts which have local administrator access. Not only can this account make changes to the local workstation (as one would expect with an Administrator account), the account not required to use a SmartCard (CAC) for login. However, to gain this level of access to the system we are required to take an extra class (online) and go through an IA approval process every year. This workstation usually only provides me with e-mail, as my work workstation is a Ubuntu system that connects to our "management" network. This allows me to manage the systems on our local floor.

    However the local admin access on my "e-mail" system has been indispensable on more than one occasion.

  123. Yes by Mutatis+Mutandis · · Score: 1

    Yes for local systems, and that is using a wide definition of "developers" -- not just the professional software developers we employ, but also the people in "informatics" who are basically scientists who build or evaluate new software tools for data analysis, and the engineers who write software to control automated systems.

    As far as I understand, this is against our own Very-Large-Company policy, and the threat of having administrator rights taken away is hovering constantly over our heads (now said to be a central IT goal by the end of 2010), but fortunately our local IT managers do understand that we need them. It wouldn't be worth the massive overhead of routing all requests for installation of new software over three different continents (I'm not kidding) and some people with difficult-to-replace skills would simply walk out if this was taken away from them.

    There are always dire predictions of the disasters that will result by granting mere end-users administrator rights, but incidents are rare and usually easily resolved. Frankly, while it is true enough that many of the people with admin rights don't know that much about system administration, they actually know a lot more than the average helpdesk jockey who is in and out within a year, but can apparently be trusted with the powers to mess things up thoroughly...

    Admin rights for servers we don't have on a personal basis, but on servers that are dedicated for specific purposes, some of us have access to service accounts that have administrator rights. If the server provides services to multiple people, the IT people are usually unwilling to grant that, and I find that understandable even if I don't entirely agree.

  124. Pretty sure i know which company you work for. by Shados · · Score: 1

    Pretty sure i know which company you're working for, as there's one such large non-IT corporation with a very large IT department that did exactly that in the roughly same timeframe with the same exception at the same time.... while I'm sure there's more than one, the wording used in the summary makes me think I'm right.

    Anyway, most debugging tools and stuff will work without administrator right, the main problem is when comes the time to test out new software, like betas, and things not approved to be used by the developers, or when writing an app that needs full control on the machine for integration (rare that there's a REAL business case, but it happens).

    In that case, said company will still make an exception, you just need your manager to say pretty please to the powers that be. I still have the exception, and will keep it, because we convinced the upper people that we couldn't do the job without it, along with ability to bypass the proxy and filters, the exe download blocker, and so on. Plus you can request virtual machines to be built for you.

    Thats how anal companies work anyway. All other large companies i worked for still gave a lot of control to the devs on their boxes, give or take a few things, such as deciding whats the primary development environment and main development OS, but thats about it, and many are completly free for all, as long as you stay within the realm of legality.

  125. They took our admin rights away for exactly 1 week by Anonymous Coward · · Score: 0

    They took our admin rights away for exactly one week and tried to give us only rights to those things that we 'absolutely' needed, network and workstation. In that week there was not one line of code written. We did nothing but put requests in to the net admins for installation requests, access to SQL tables, rights to servers ect...

    We were obvious about surfing the net while our code refused to run correctly, and when asked what we were doing we pointed at the net admins. They took our ability to work away. I can understand not wanting us devs to have access to the production network, but you can't just drop us off the network and not give us test equipment.

    They never thought of it this way, but basically their idea was to take everything away from us and determine what was 'absolutely needed' by how much we bitched about it. After a week of dev standstill while the net admins worked 16+ hour days with no end in sight, they gave in and gave us local admin rights with limited admin accounts to the servers that were fully off the production net.

    The story does have a happy ending though. We're now have our own network that's 90% identical to the production network, and physically (no connecting copper) segregated from the production net. Granted most of our equipment is the old castoffs of the production net, but it just simulates load... or something. We can laugh it off when we accidentally forget about that truncate where 1=1; instead of hiding under the desk and updating the resume. And it only took about a year and a half to actually do it right, instead of flipping it over the weekend.

    Needless to say yes we still have local admin. Maybe some places could take that away, but you had better have one damn good plan and a awesome team of crack net admins to pull something like that off.

  126. You're "smoking" something (your puny pencil) by Anonymous Coward · · Score: 0

    Why would you want something to smoke, when you have your mouth on your tiny "pencil" already, & sucking voraciously?

  127. I've got admin rights and deserve them by thetoadwarrior · · Score: 1

    With thousands of employees, the IT support guys have enough going on without having to come install things for me every time I need them to do my job.

  128. Seperate Network by Anonymous Coward · · Score: 0

    Our development takes place primarily on a separate development network that has no connection to the outside world - it's a little closed loop and it makes for a great test environment and sandbox because of that. We don't have to worry about corporate restrictions, because development machines are seen as separate from a user's corporate workstation. This seems to me to be the best possible way to ensure that corporate security policies on corporate machines don't interfere with development requirements.

  129. NO NO NO Admin rights!!!!!! by Anonymous Coward · · Score: 0

    Here is my 2 cents. I do not think they should have admin rights to their local machines. These are workstations that are issued to perform a job and that is to code. Once your tools are installed there shouldn't be any reason to need admin rights. You should however have a virtual test environment with something like VMware workstation where you would have several OS's loaded in there one with admin rights to test your installs, and debug. Absolutly your application you are writing should be fully tested without admin rights. I cannot tell you how it burns me up to have a vendor tell me to give a user admin rights to solve an issue with an application.

  130. It depends on the required flexibility... by J.+Adam+Hart · · Score: 1

    I'd say if you are targeting a very specific platform, developers don't really need full admin access to do their jobs. e.g. ASP.NET development is fairly rigid and it's usually done with the whole team using the same exact tools (Visual Studio, TFS, etc). In such a regimented environment, it might be better to lock everything down. But in an agency or consultancy shop, the tool set could change with every project. I don't think IT should be on the hook for setting up random systems that will only be used for a few months or weeks before being torn down again.

  131. It depends on the type of development. by GWRedDragon · · Score: 1

    Are we talking about kids hired at minimum wage to write javascript that animates the company logo on mouseover? Experienced C developers writing device drivers? C++ developers working on a legacy MMO engine?

    "Developer" encompasses a very wide range of experience and knowledge levels. Experienced professionals working on complicated programs should not be encumbered by controls designed to prevent idiots from screwing up their OS install. Employees who barely know enough about the system to write business logic, should not be in a position to break things.

  132. Theres Overlap in the job description. by djwillms · · Score: 1

    Developers have to write Administrative functions in code. For example: Its absolutely required that Developers be able to write the Installation / setup programs and test them. For windows machines, that means that Developers need rights to modify the Registry, startup scripts, Install System Services, End Task on anything, Set Security Permissions in NTFS, Modify User Accounts (such as adding icons to all users, or specific users) That doesnt mean, that the core program needs to run as ADMIN, but most likely, the Install/ Uninstall should.

  133. Depends on the environment... by Sandbags · · Score: 1

    In their own lab systems as they may deploy them occasionally in snadboxed network segments, they do whatever they want. In our formal development and testing environments, it;s a different story. We typically have 4-5 code migrations areas per application from: Unit code testing, system/load testing, Customer QA, Production, and occasionally a specialized environment. In the Unit environment, they have read/write access to most of the server, but this varies by OS. under Windows, they pretty much have to be admins (but not local). In Linux/Unix, they only have read/write/ex in the directories specific to their app. We have hardened linux images, and they can't access core functions or configurations outside of their app. In System environments, they're lucky to get read access (except in Windows environments where their access is the same as unit envs).

    In QA, Prod, Training, or other environments, Devs can't even log in, except with the same credentials as a user that might use the system in production. An Operations team, dedicated application support team, network security, and a few other people have admin rights, but even our software deployment team looses their login rights once the system is put into production.

    --
    There is no contest in life for which the unprepared have the advantage.
  134. tl;dr by Anonymous Coward · · Score: 0

    your horrid writing skills identifies you as an apeman.

  135. 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
  136. Really depends on the developers by phorm · · Score: 1

    Whether or not such a system is beneficial really depends on the developers. In the case where the developer is knowledgeable and - even more importantly - respectful of the systems he's entering (and those that maintain then), having a higher-privileged account for devs is great.

    On the other hand, having a situation where devs are making changes to settings (of live systems), or pushing major code updates without a review process and/or using a repository (for rollback purposes) can be terrible.

    It really, really sucks when you're an admin and servers suddenly start going berserk without you knowing WTF is going on, only to find that *somebody* made key changes without checking them in or having them reviewed, especially as you're the one likely to take the heat when it's "the server is screwing up again," when in reality it's "somebody uploaded bad code to the server and/or mangled a bunch of settings."

    So for the devs out there, please be kind to your sysadmins and use a repository. The ability to roll-back will save you headaches as well as your admins. Also, if you're going to make changes to system config, check with the admins first, or at the very least let them know what's going on so if something going *boink* they can trace it down.

  137. Yes on Windows, no on UNIX by gregor-e · · Score: 1

    Folks in our department have local admin on our own PCs, but it's like pulling teeth to get InfoSec to grant it. (I think it requires VP approval for each PC). On the other hand, we are under no circumstances given root to our Linux servers, not even our dev boxes. Not even on virtual machines running Linux. This is a huge PITA. I can't count the times a five-minute change like adding an entry to tnsnames.ora has ended up taking hours or days to complete through the 'create a ticket' method. Even worse than slowing down mundane tasks, it stifles any exploration of alternative tools. Unfortunately, this sort of intangible 'innovation cost' will never show up on any objective cost/benefit analysis.

  138. 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
  139. Anonymous Coward by Anonymous Coward · · Score: 0

    I work in a government installation as a software developer and due to government regulations the only way we can install any software or anything is to either put in a request to the IT people to come up and do it, or our supervisors can get special permission to be allowed to install stuff onto the machines of the developers working directly under them.

  140. Your reading "skills" identify you as an ass by Anonymous Coward · · Score: 0

    See subject-line above, & rinse, lather, + repeat (several times, until it sinks in & you realize you're nothing more than an off topic, undereducated moronic troll). This isn't "english class", dunce. Realize that. Also realize that slashdot has no such section in its forums, nor is your reply on this topic, so you are truly nothing more than a trolling off topic ass.

    1. Re:Your reading "skills" identify you as an ass by lgw · · Score: 1

      No one starts with any reason to give a shit about anything you write - it's your job to reach out and encourage them to care. This starts with good writing skills. Learn to write if you want to be taken seriously in life.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  141. I've seen it done both ways by PPH · · Score: 1

    I wasn't a full time developer (engineer, mainly, but I did support some avionics test stuff) and I never did Windows. So take what I say with a grain of salt.

    I supported apps and system stuff on a half dozen *NIX systems. For development, I had several development environments set up on test hardware. I'd need root (admin) privileges to tweak the system config, install custom networking daemons, drivers, etc. But I had a plain old user account for use in testing modules and apps. I stayed off the root account unless absolutely necessary.

    Meanwhile, I worked alongside a bunch of Windows developers. They all had admin rights, developed everything as admin, tested it as admin and turned it over to the user community. Thanks to their 'bad habits' there were more than a few circumstances where their apps would not run unless their users also had admin rights. Toward the end of my career at that outfit, there was talk about taking their admin rights way, or enforcing practices similar to what I used voluntarily.

    I suspect (and perhaps some Windows folks can verify this) that there's a fundamental difference in the philosophy between being root on a *NIX box (a completely different user) and attaching admin privileges on Windows (same user, just more permission bits set). One thing that our Windows developer community appeared attached to was the ability (need? addiction?) to have access to their user space at all times when sitting at a desktop. Asking them to adopt a different user profile for developing/testing/installation/administration would have deprived them of the ability to do IE/Outlook, visit YouTube, etc. while their system was connected to some aircraft under test.

    I shudder to think of how many times someone was uploading new (classified) firmware into a fighter in one window while IE was prompting them to install that mystery CODEC in order to view some 'important' email message.

    --
    Have gnu, will travel.
  142. My company allows this. by gregarican · · Score: 1

    Developers actually help administer our servers and our network hardware. So far it's been a good experience, even with them administering our firewall/router. I have nothing but g....ATH++ NO CARRIER

  143. I hope so.... by LordBoreal51 · · Score: 1

    At my last job, I wasted tens of hours on trying to get the IT guy to come down to my workstation and give me the local privileges needed to compile or configure my various IDEs. Finally he just gave up and made me a local admin and there wasn't a problem after that. (This was a Windows setup, BTW)

  144. No admin rights and for good reason by locketine · · Score: 1

    Two of the last three companies I've worked for as a software developer only gave us power user rights on our windowsXP machines. I was doing embedded software development and testing at both of those companies and it didn't cause any problems not having admin rights on my local machine. I could see where in some cases it would be impossible to function as a dev without admin rights but in most cases it can be gotten around by hiring smart IT support technicians who know how to install complex software and hardware and developers who can communicate their needs to the support staff.

    To support the IT guys I'll give a recent example of how I effed up my Vista machine doing something that shouldn't have caused any problems. Vista kept bugging me about enabling automatic updates so I got annoyed and told it to download and install all the latest updates (no service packs). Well, that caused every single proprietary piece of software on my machine to crash on startup. It took the IT tech about 4 hours to figure out what happened and correct the situation and me another 3 hours to put my machine back to where I wanted it.

    The moral of the story is that you have no clue what could mess up your computer and IT does. They've dealt with way more computer problems than you could ever in your entire life which is why they should be the ones installing drivers/software on your computer. Plus, you shouldn't be wasting your time developing your computer because you were hired to develop software.

    --
    Think globally but act within local variable scope.
  145. chntpw by karlandtanya · · Score: 1

    Yes, we do.
    And, yes, I've used it, at the Client's facility to get into the admin account of lab computers--with the Client's full knowledge and permission.

    We need full access to our workpiece in order to work on it. IT officially doesn't support this, but the IT guys that support the labs know what we do, and what we need in order to do it.

    At least that's how it was when I was there. I usually do a couple years on and a couple years off for that particular client. They may be totally locked down and outsourced to India/China by now.

    --
    "Reality is that which, when you stop believing in it, it doesn't go away." - Philip K. Dick
    1. Re:chntpw by SecurityGuy · · Score: 1

      With the client's full knowledge and permission is key. ;-)

      I've seen people fired for doing the same without permission. Ask them, and they "needed it to do their job!". Ask the client,and no they didn't. Companies often understand perfectly well that some of the hoops they make us jump through are less efficient. Sometimes there's a reason, like write documentation so we don't lose your work if you get hit by a bus, sometimes it's misguided.

  146. All your base are belong to developers anyway... by MonkeyBot · · Score: 1

    If you have decent developers and they have physical access to their machines (particularly laptops that they can take away from scrutinizing eyes), then they likely already have local admin rights in some form or fashion, whether you want them to or not. It's an asinine waste of resources to try and use an IT group that is usually less competent than the developers to police those developers' local admin rights when they have physical access to their machines.

  147. temporary access makes more sense than permanent.. by Anonymous Coward · · Score: 0

    If your company deploys a privileged password management system, then you can scramble admin passwords regularly (say daily) and implement authorization processes that allow people who wouldn't normaly have admin rights to production systems - like developers - to get them temporarily when required.

    e.g., privileged-password-manager.hitachi-id.com

  148. My favorite security policy by seebs · · Score: 1

    1. Developers shall not have root access to shared machines.
    2. Limited root access is provided for specific functions.
    3. Specifically, "sudo tar" works.

    I am pretty sure there is some kind of subtle flaw here.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  149. Devs only need some 'admin' rights by don_bear_wilkinson · · Score: 1

    My former employer suffered more than one very serious work-stoppage (lost scores of manhours) over the whole LAN due to problems caused by a developer whose Windows Domain account (and primary login on the local PC) has Administrator rights on the Domain and (thus) on the local machine. (This is due to Devs *not* being experts in networking, security, application and service mgmt, windows domain policies, etc. If they were, they would not have needed a Windows SA, right?) It was only after this fiasco that the mgmt folks acceded to my plan.

    • Put Dev boxes on their own network segment in their own Windows domain.
    • Use GPOs for various security/software settings, including Windows Firewall rules.
    • Give them VMs on local machines for development\local testing. (Cloning/Point-in-time images are AWESOME!)
    • Give them VMs on the network for shared work/testing.
    • Give them two accounts on their XP machines, one with elevated privileges. (Their 'admin' account)
    • Have them use "RunAs" and their 'admin account' to elevate privs for tasks, like installing software and changing system settings

    It was a lot of work to set up, and a lot of pain the first couple of weeks to train/handhold the Devs, but it started to really work. Oh, it should be mentioned we has somewhat unusually high security requirements due to being in the financial sector and handling customer credit/debit card data, etc. But, really, most of this was designed and implemented to actually improve work processes and uptime. And it did.

    --
    In Nature, stupidity is a capital offense. In human society, too many get off with less than a warning.
  150. no, but passwords are trivial by Anonymous Coward · · Score: 0

    no local admin rights, but the admins are stupid enough to use default admin shares. the local admin account password can be cracked in a matter of seconds and it's the same on all machines, leaving the whole network open to great pillaging and plundering.

  151. Yes and no by Anonymous Coward · · Score: 0

    I work for an international company in the corporate department, and the way we do it is:

    You have a corporate desktop meant to do corporate work, which means your Office suite is on it, you use the standard AV and other tools (standard image), and you're allowed to install whatever virtualization package your team is licensed for on it.

    This seems to work pretty well for everyone!

  152. 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.

  153. Mordoc Runs IT here by SaffronMiner · · Score: 1

    Mordoc Rules: http://dilbert.com/strips/?CharIDs=15&After=01/01/1996&Before=12/31/2009&Order=s.DateStrip+DESC&PerPage=50&x=23&y=9&CharFilter=Any

    Really several of those have happened here, and a couple of more from Dilbert[TM] that don't show up in that link. I thought Dilbert[TM] was meant to be a cartoon, not a documentary?

    IT controls the virus checkers on all the machines, but they never keep them up to date for Windows, nor alow us to update them. "Linux is just a Toy" is a direct quote from IT. The other day a colleague told IT that someone had to move down from Mac to Windows, and ITs reply was "at least they didn't take even more steps backwards to Linux", but I digress.

    After IT discovered the Virus, they declared, without any evidence, all Open Source Browsers, like Firefox and Opera, and Email programs must be ameliorated from all company computers, or you would be terminated. They then decreed that in the name of security only IE6 and Outlook would be acceptable for Internet access for any reason (so much for using any other ports, those do not exist per IT). Makes lots of sense to force the usage of the two most attacked programs in the history of Mankind in the name of security. I've about given up on Internet at work and do most of what I need at home now.

    IT always says "we must protect The Server". If The (Windows) Server is so vulnerable that it needs so much protection, why do they keep using it? I've asked to be removed from The Serve as I don't use it to do my job other than for backups, and IT says my source code backups are to large and want them removed (WTF?).

    I develop Embedded Systems. Right now I'm trying to write a USB driver for a AVR, that has to work with Windows, but IT says I don't need Admin Rights. Boss says "do what IT says". Guess I'll just tell the customers "sorry I could not test this, talk to the boss or IT if it does not work", as I'll have no idea if it works. Its a small company, telling me to talk to someone higher up won't help. Resume anyone?

  154. Common Operating Environments by peterofoz · · Score: 1

    Large corporations often standardize workstation setups in an effort to:

    • reduced cost of the help desk support
    • simplified license compliance
    • standardized platform for enterprise integration
    • remote support and monitoring
    • improved security and antivirus

    Developers usually need admin rights to a workstation or VM somewhere in order to develop and integrate applications. For our last project we used COE workstations and developed our apps on a VMware, then used the COE environment to test functionality. We ended up needing admin rights to 1 'dirty' workstation since our integration was going to require a change to the COE, but we kept the rest clean.

    The funny but sad part was the COE was not as standardized as we were led to believe with COE workstations sporting different versions of Java and IE which caused some interesting problems.

  155. windows? by Anonymous Coward · · Score: 0

    All developers I work with uses Linux :-) But then I'm lucky.

  156. Security? by visionbeyond · · Score: 1

    Well the first problem I see is that your on a Windows platform, so security is the last thing you'll be able to enforce. LOL Windows also has a horrible user and group permissions system, so relying on that will also include many headaches and issue in your future... continually. Can't really help you in Windows world beyond showing you a hack to get around pretty much anything - thus why I say not to even try. I've worked at companies that freely gave out root access to developers, and others that guarded access like a trade secret to their special formula. Ultimately I don't believe developers really need root access, but that is dependent upon having a system admin that is doing their job correctly, and also definitely helps to use a code revision repository (SVN or CVS). I've also found that just building a local environment when restriction are in place, allows me to do anything I need, as master of my own domain - okay, crappy outdated workstation. But in either scenario, administrative or root access isn't necessary. Is it handy to have? Certainly, and has helped in the development process, but necessary, no. I also believe though that if you don't have developers that are capable and that you trust, then you should reconsider who works for you, and as a result should feel comfortable allowing root access. Any developer with ethics, even if parting on the worst of circumstances, isn't going to sabotage the system or server. The tech world after all isn't really that big of a world, and everything always turns full circle sooner or later. At least that's my two duckets worth. -Davey

  157. root by mgessner · · Score: 1

    You can have my root password when you can pry it out of my cold, dead hands.

    We can admin our windoze machines to install stuff and such, but the domain control rests in our IT dept (2 guys for 140).

    The several "public" linux machines I develop on and administer have a common root password, except for my "personal" machine, which I keep. All the stuff they'd want off of it is in perforce anyway, so it's not a big deal.

    --
    "Sometimes the truth is stupid." - Lawrence, creator of Prime Intellect
    1. Re:root by haruharaharu · · Score: 1

      You can have my root password as soon as you find someone stupid enough to take it.

      --
      Reboot macht Frei.
  158. We have a separate development image by Quila · · Score: 1

    The image looks like the production image, but with the various tools installed and a somewhat more liberal group policy.

    And they are admins. They have access to the development network too.

    But those systems are shut out of the production network.

  159. Not on linux boxes by Flu · · Score: 1

    I'm currently working as a developer for a major player in the mobile industry. We're local admins on our windows boxes, but we're switching to Linux now, and are not given the ability to su our own linux boxes. :-(

  160. Yes by nurb432 · · Score: 1

    If you don't trust them with the rights, they shouldn't be working for you.

    --
    ---- Booth was a patriot ----
  161. Off domain development by nurb432 · · Score: 1

    And when you develop mostly AD integrated apps lets see how your isolated VM works out for you.

    --
    ---- Booth was a patriot ----
  162. who needs admin/root rights... by Anonymous Coward · · Score: 0

    By default OS's are (or should be) designed to not need admin/root rights for most of the tasks. Only real admin tasks needs those.

    As for developement or running a service/program/whatever it will be possible to write code that will simply be run as a user (Although it is often started as root and then forked to a user). This is better for the security and it will still provide you enough rights to do what is needed.

    1. Re:who needs admin/root rights... by _Shad0w_ · · Score: 1

      The problem isn't usually related the general running of the program, it's debugging running processes and similar actions. Although debugging just requires the "Debug Programs" permission, I think.

      The company I work for is small though, so as well as being the Senior Developer (which is laughable title), I'm also a Domain Admin, along with my manager, anyway.

      --

      Yeah, I had a sig once; I got bored of it.

  163. Yes, but there are workarounds anyway by larwe · · Score: 1

    At my Very Large Corporation our developers need admin rights because we are constantly tinkering with special hardware, updating drivers, running software that's not supported by anyone (obsolete compilers and debugging tools in particular), etc. So we have admin rights. However there are some corners of the org where this is not the case (mostly not in the US). The devs in these corners get their testing done by running unrestricted private installs of Windows inside VirtualBox. We have ready-to-run disk images on our servers for restore if something gets hosed in one of the virtual environments.

  164. Could also be US Bank by Anonymous Coward · · Score: 0

    The same problems are at US Bank.

    I wonder if it's just some douchebag consultant or lame security guru in Minneapolis laughing all the way to the bank.

    Target and US Bank are both based there. Is Best Buy that bad too?

  165. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  166. Intelligence test by Anonymous Coward · · Score: 0

    If your developers can't figure out how to get local admin rights on a machine they have unlimited physical access too, then perhaps they shouldn't have those rights. They don't need network admin rights, but even at Oracle I was able to capture the network admin password just by writing a program to monitor remote access by the sysadmins.

  167. That's what VMs are for by bschorr · · Score: 1

    Our Devs have full admin rights....on the Virtual Machines they develop on. It's great, they create a base VM, store that drive file as a template, then do their development and testing. Anytime they want to, which turns out to be a couple of times a month usually, they delete that active VM and start over clean from the base. They can also run multiple identical VMs side-by-side if they need to.

    Need to test against a different OS or a server? Create a VM for it and go. Doesn't matter if they trash it, it's just a VM.

    --
    -B-
  168. Developers _must_ be admins to debug! by MobyDisk · · Score: 1

    Developers must be local administrators to:
    - Manage local services (Ex: SQL server, COM+, etc.)
    - Register/unregister COM objects; Add/remove objects from the GAC; change the strong-naming settings, ...
    - Attach the debugger to a process
    - Change IE security settings

    You can actually attach a debugger if you are in the "Debugger users" group but there's no sense in removing local Administrator rights from a debugger user because the debugger can be used to execute privilege escalation attacks. So all you do is make it harder for the developer, without buying you any security.

  169. Our devs have root/admin by Sarusa · · Score: 1

    I completely own my linux box at work (root and all), and I have admin privileges on my XP desktop. There are a couple company tools that IT pushes and updates (like antivirus), but I can install and run anything I want. It basically boils down to us wanting to get work done, and if I had to wait for IT to install everything I needed when I needed it we'd be a month behind on the latest project instead of two weeks ahead of schedule. This comes with the expectation that if I do something stupid like start torrenting porn from my work computers that I will get slapped hard, and that's fair enough.

    So that seems the way to go: allow devs admin privileges and fire them if they're dumb enough they can't handle that. This is win-win for dev and IT, unless IT is primarily interested in empire building. Everything else is just a doomed hack around the fact that you hired bad people.

  170. VBC. Yup me too. by Juliemac · · Score: 1

    I also work for a Very Big Corporation. Shudder. I was tols I could develop applications under the following guide lines. No access to toad. No IDE. Only what was offered to Office workers. No admin rights locally. 1) Submit the criteria of the app. 2) Build 25% of the app, but don't run it. 3) submit this 25% for security verification (4-6 weeks) 4) Build the next 25%... Etc till the app is 100% Then submit for one more security review. Then allow the end user to see the application with the first run. If they dont like the application? Return to step 1. I finally got access to Admin and usually bypass all of their restrictions and can get the job done. Sheer incompetance.

  171. Education and Teamwork are key.. by hspencer77 · · Score: 1

    CmdrTaco: I have been on all three levels: developer, desktop administrator for developers, and server admin for developers. From my experience, its easier to do it on a *nix environment vs. Windows environment - that's not to say it can't be done. If you have a good Windows Active Directory Administrator, you can set up GPOs that allow developers to have the necessary rights to develop and maintain applications in a production environment. The biggest pain is getting the developers to change their habits. The way that my department implemented these accounts on the Windows side, is that we created separate accounts. So, say for instance, your username is foo. We then would create in Active Directory an a_ account (i.e. a_foo). That would be your admin account. We then would create GPOs to access the correct registry information in Windows to allow debugging, installation, etc. on that machine. Since, we have GPOs on a group of machines, if we needed to use any of those GPOs on the server environment, we could do that as well. Once we got that set up, and educated the developers on how to use their a_ accounts, they were able to develop and maintain the production applications in Windows with no problem. And if you wanted to use the same type of administrative structure on any *nix system, you could use PAM and sudo controls to give the developers the flexibility that they need. Hope this helps... IMO, when developers have total control over production machines, its because management doesn't understand how admin controls can be separated from users, and the developers aren't open to a "change".

  172. and thats how you end up with a bucket of fail. by Anonymous Coward · · Score: 0

    yep, seen it a lot. And its BAD. Its usually done because whiney devs (interchangable with "application admins" and "DBAs"), who don't really know what they are doing, claim that they "need" root or admin access in order for them to "debug" and diagnose problems... without actually being able to specify or provide an example of said activity, thereby avoiding the use of targetted or ad-hock sudo access to do the same (a much safer and sensible option, even allows you to document what they are doing and why, for things such as upgrades/migrations...). The incessant whining usually results in management saying "just do it".

    The end result is usually a combination of:
    - services running as root/local/(or heaven forbid) domain admin
    - deployment instructions that are full of the words "as the user root/local admin" for no apparent reason (e.g. chmod a file as root already owned by the application user??)
    - the scattering of random application libraries/binaries across system filesystems/directories
    - the implementation of chunks of applications using pointless system calls to unmaintainable standalone binaries that devs have scattered across the filesystems.
    - insert your own nightmare for system maintenance......

  173. VLAN by ruemere · · Score: 1

    Separate vlan, virtualized or build with premade images. Contains independent management structure which assumes admin level rights for priviledged users. Remote access via client software (it's pretty easy with virtualized vlan, however for many purposes RDP is sufficient).
    The vlan is separate from company environment apart from remote access. Hosts located within VLAN can be reimagined at moment's notice. Snapshots can be taken at developer's request.

    It's not that difficult to set up, but you need to do some preparations in order to have fully functional disaster recovery for this vlan, along with snapshot capabilities and consistent monitoring.
    You may also want to have update procedure to ensure that development environment (and its base images) is not out of touch with real world.
    Also, you need to cover your bases with regard to licensing and activiation (some O/S requires special provisioning).

    Regards,
    Ruemere

  174. Gee, taking this literally huh? by garyisabusyguy · · Score: 1

    Well... when PIPBoy3000 says, "We're local admins of the application servers, and a couple of us have domain admin rights"

    I take it as; A) the 'application servers' he speaks of are 'production'. In the most general sense people call their production servers 'application servers' because their applications run there. Personally, I take it as the application tier of a n-tier system with no mention of the webserver tier or database tier. But that's just how I have managed to convert 'lamer speak' to actual architecture over the years.

    And B) the 'domain admin' rights would tend to describe the production environment, unless this fellow is in a really grandiose Forest environment with multiple domains. I doubt it considering their using shame as a change control methodology

    So, my question to you, Hognoxious, is how could you NOT get that from what was posted?

    --
    Wherever You Go, There You Are
  175. it's all about tradeoffs by bingbong · · Score: 1

    I'm the IT security director for an international company (35+ countries). We have a variety of user / developer and security requirements.

    We do not give our developers local admin on there workstations. However, we do give them VMs to develop on. This way, if they screw something up (which happens a LOT), they can go back a snapshot or two and fix things.

    Incidentally, the test environments have very restricted security permissions - they have to be able to run on the federal desktop core configuration - so we encounter a lot bugs because developers insist on running their app with admin rights.

    if we could train developers better, and have IT admins that understand both sides of the issues - things get better. It works pretty well for my company.

    --
    "Omnis tuus capsa sunt inesse nos"
  176. In *nix no... by FishNiX · · Score: 1

    Developers have total control over their workstation and "Sandbox" lives there in a VM. Developers have limited rights to the "development" environment where they can test things like deployment process and make some changes. In TEST, they have no rights (can't even login) and in PROD obviously no rights. Patch also often exists and is used by SA's only. I work for a large university where we support a lot of different apps in a fairly heterogenious environment not one or two products like I have in the past in corporate environments, it works well IMO once the developers get the idea that they have to get things mostly right before moving into DEV.

  177. yes by wardk · · Score: 1

    it's simply impossible to do your job otherwise

  178. Run As... by Anonymous Coward · · Score: 0

    Where I work, we do development under Windows XP. Our Active Directory accounts don't have local administrator access, but we know what the password for the local Administrator account is, so when we need to install some software, we can just "Run As...".

    There are various tricks that make this work better, like running Windows Explorer as Administrator ("explorer /separate"), using Tweak UI to make the toolbar of Windows Explorer appear different when run from the Administrator account, knowing how to open various Control Panel applets via their .cpl files (e.g. "appwiz.cpl" gives you the Add/Remove Programs, if I recall correctly).

    I find this much nicer than logging out and logging in using the Administrator account because I don't want to have to close all my editors, my email, etc. It seems to be a good solution 99% of the time.

  179. Why Yes by niftymitch · · Score: 1

    For developers working on programs drivers and tools that require it for testing yes. It is possible that some have no control over their desktop by the second system for testing requires full access. Try and install a program on windows without administrative rights... Can't do it.

    --
    Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
  180. Best practice by Edgester · · Score: 1

    Developers should have admin rights, but programs should be able to install without admin rights unless there is a darn good reason to have admin rights. Maybe if developers were forced to install without admin rights, then software installation on locked-down corporate desktops wouldn't be so painful.

  181. Re:Who is driving? by symbolic · · Score: 1

    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.

    I have to disagree. That's what a staging environment is for. Your analogy would be tantamount to making a car manufacturer build every automobile sitting in the passenger seat with the door closed.

  182. Depends on OS and what you are developing by herbierobinson · · Score: 1

    My group maintains and enhances an operating system. Obviously, we need full access on the machines we debug on. We also have separate "production" machines used for builds and source control where developers don't default to having admin privileges (and admin privs are generally reserved for the people less likely to break things). We used to give all the new developers admin privs from day 1, but that almost led to a few disasters (new people with full admin privs on an unfamiliar OS is not a good idea).

    We generally try to let the admins take care of the production systems and only take over when they aren't around (it's only two people). And we let them know what we fixed because we appreciate the fact that they are normally dealing with it for us...

    OTOH, one doesn't need any sort of special access to develop simple applications on decent operating systems like Unix or Max OS. One only needs special access when one starts installing shared libraries, doing kernel work, or setting up shared source control systems (although, it's generally not a good idea to let all the developers have uncontrolled access to the source control system, either).

    --
    An engineer who ran for Congress. http://herbrobinson.us
  183. No local admin by default... by mjb · · Score: 1

    We all had local admin rights until about a year ago. Under the new policy, standard user logins do not have local admin rights. If you need to install software, you need to login as a separate poweruser, which in turn disables access to all network resources (drives, printers, etc).

    It was a big pain, and people did a lot of bitching and moaning, but slowly we're getting used to it.

    There are several options:
    1.) logout/login as poweruser
    2.) Right-click, do 'Run As'
    3.) While running as local user, open a CMD window that's running as poweruser.

    -Mark

    --
    There are 10 types of people in the world; those who understand binary and those who don't.
  184. Virtual Machines by keean · · Score: 1

    These days developers do not need admin rights to physical machines. All they need is a user account with permission to launch virtual machine instances. They can have admin rights on the virtual machines.

  185. Yes and no by RighteousMeh · · Score: 1

    At my company we've been developing software for solaris for over 10 years. We develop and do some testing on solaris workstations, without having root privileges. This has been working fine for a long time. If you need some new software installed, it is still possible to do it without being root and if you need something installed for everyone, it is better to ask the admins to install it, because they will also maintain it for you.

    Lately we've be using Windows as well. Every Windows developer machine comes with local admin rights, because it would be too difficult to get anything done without it.

  186. Always by AigariusDebian · · Score: 1

    Yep, all our developers just delete the 'standard workstation', install Ubuntu for actual work and then install a stripped down Windows version in VirtualBox for all those pesky Windows-only reporting tools and IE-only corporate websites. The local IT staff is pleased - they don't have to support us beyond the domain password reset once every 3 months that we have them ask to do, because noone of us has a machine in the actual domain.

  187. You all have PHD's in English? No? Didn't think so by Anonymous Coward · · Score: 0

    You want to be taken seriously? Prove you have a PHD in English. Not that it would matter though. Writing and who likes it or not is like resumes. 1 person loves your work, others don't. That's the way it is. I know You have no PHD in English, and none of you are experts on the subject of how to write because of that much. So who the hell are you or yours here to give anyone any advisement on how to write, or, what good writing style is?? Get over yourselves, please. You don't have what it takes to tell anyone how to write or write well. I severely doubt any of you has even achieved a single collegiate degree in fact. Let's see what these geniuses have to say about that much. It ought to be amusing, considering the idiot savants around here tend to sling a lot of advice, especially on writing (which is completely off topic, and slashdot has no 'english writing section' period especially), but they often don't possess a thing that says they can write well or have proof they themselves have mastered English academically.

  188. shut up retard by Anonymous Coward · · Score: 0

    "Any software that has its quality determined by what the developers test is crap anyhow. You make a fine argument that QA should test using non-admin accounts, however" - by lgw (121541) on Thursday December 31, @05:01PM (#30610308)

    Coming from an idiot who couldn't code a program to save his own life like you? It's not our fault you are the dolt who can't pass a computer science degree. So, give us a break moron, and shut the hell up you pitiful retard. These "big talkers" are usually dolts who don't (and can't) write solid working code to save their lives and it's so amusing to watch them try to "play expert" like some "armchair quarterback", like lgw here.

    1. Re:shut up retard by Anonymous Coward · · Score: 0

      That's not what your mother said last night!

  189. Root by Anonymous Coward · · Score: 0

    The first thing i did when i joined a new company, is request that format my windows machine into a linux based one.
    The request was granted to me because i was a developer, if someone else had asked it would have been declined.

    Since it was a small company i offered to format it myself, Management asked no questions and allowed it.
    So i have root access to my machine.

  190. Dev-Y, test,prod-N by ebvwfbw · · Score: 1
    Dev is the development test bed. Test, they had better have what it is they want to do all on paper, even if that is an electronic document. How to install _____, how to configure _____, how to test that ______ is working. Follow it in the test environment and if it works, move to production. We often copy the production machine to the test machine bed. Just copy the san disk. If you do it in a Xen environment it is even easier.

    Why go through all of this? What happens if the production machine or even the site is destroyed? What happens if everyone in your building is hit with some new bug that kills everyone or the building being built badly collapses and kills everyone? I have also found it is very useful to have these records. Even for projects that I did 10 or 15 years ago I can't remember stuff any more. It also comes in useful if something is set wrong. Was it that way to begin with or did the software upgrade break something? I've put people from some very large organizations on the spot because I could pinpoint when something was changed on their part and not documented.

    Finally, it is good to keep developers off the production box. They may put something on there that they are not supposed to. I know, I used to do it and so did all of my other developer friends. That stuff has been known to be used by attackers.

  191. Re:Generally, yes FEH! by Anonymous Coward · · Score: 0

    Oh. A couple of obscure American laws. How quaint.

  192. When you get your PHD in English MAYBE I'll listen by Anonymous Coward · · Score: 0

    http://developers.slashdot.org/comments.pl?sid=1495254&cid=30616776

    Take a read there... but, Since reading is difficult for your ADD/ADHD or Dyslexia addled brain, I'll quote another person's opinion on 'writing style' for you:

    PERTINENT QUOTE/EXCERPT:

    "In other news, people have personal preferences, just as they do in the literary world. Some people like Ayn Rand, others hate her. Some like Stephen King, others hate him. Not so much their stories, but their writing styles."

    So, like was said here earlier? Maybe, JUST MAYBE, when you get your PHD in English?? Then, & only then can you comment on others' writing style & be so arrogant to think you are somekind of expert in writing... and even then it wouldn't matter, as it is only a matter of YOUR UNQUALIFIED opinion only, & purely subjective.

    APK

    P.S.=> Amazing, all these "literary geniuses" here, that don't possess a PHD in English, & yet they see fit to critique others' writing style (especially since that is off topic, & there is no "English Grammar & Spell checking section" here on /., period)... unbelievable. You, & those LIKE you? You must think rather highly of yourselves, but, you really don't have anything that states you are indeed, an "expert" on writing... period! apk

  193. Where's your PHD in English? by Anonymous Coward · · Score: 0

    http://developers.slashdot.org/comments.pl?sid=1495254&cid=30616776

    Take a read there... I take that back though, since reading is difficult for your ADD/ADHD or Dyslexia addled brain, I'll quote another person's opinion on 'writing style' for you:

    ----

    PERTINENT QUOTE/EXCERPT:

    "In other news, people have personal preferences, just as they do in the literary world. Some people like Ayn Rand, others hate her. Some like Stephen King, others hate him. Not so much their stories, but their writing styles."

    ----

    So, like was said here earlier?

    Maybe, JUST MAYBE, when you get your PHD in English??

    Then, & only then can you comment on others' writing style & be so arrogant to think you are somekind of expert in writing... and even then it wouldn't matter, as it is only a matter of YOUR UNQUALIFIED opinion only, & purely subjective.

    APK

    P.S.=> Amazing, all these "literary geniuses" here, that don't possess a PHD in English, & yet they see fit to critique others' writing style!

    (AND, most especially since that is off topic, & there is no "English Grammar & Spell checking section" here on /., period)...

    Unbelievable.

    You, & those LIKE you (trolling undereducated idiots that have nothing better to do, and doubtless have not achieved a single thing worth noting their entire lives, especially if noted by others as good)?

    You must think rather highly of yourselves, but, you really don't have anything that states you are indeed, an "expert" on writing (or, probably ANYTHING ELSE as well)... period! apk

  194. Wrong. Admins want to make everybody's job easier by jotaeleemeese · · Score: 1

    Development environments are often shared, then please do tell me how ensuring those environments are available for everybody is all of the sudden an act of selfishness.

    Sys Admins are paid to pay attention to the big picture, developers in general have a narrow point of view of things and often fail to appreciate how their actions can affect others.

    --
    IANAL but write like a drunk one.
  195. Nope. by jotaeleemeese · · Score: 0

    "Developers DO need full admin rights on their dev boxes"

    Nope. That is not needed, many big companies can and do internal development with full segregation of duties between developers and administrators.

    There is no reason for a developer to be restarting a server, if he is developing on that basis you need a better developer.

    --
    IANAL but write like a drunk one.
    1. 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.
    2. Re:Nope. by pixelpusher220 · · Score: 1

      as a developer if i have to make a phone call or submit a ticket to modify *my* development box...I don't work there long.

      We're currently working with MS SQL Report Services and it's frankly amazing how often we end up having to restart or reconfigure the SQL instances. It stems from a broad mix of it being an M$ product as well as having had zero training on Reporting Services so it's definitely a trial and error type of process.

      When you're dealing with trying to figure stuff out that is at the OS and system levels, you're going to be rebooting, restarting and reconfiguring pretty damn often.

      --
      People in cars cause accidents....accidents in cars cause people :-D
  196. Bullshit. by jotaeleemeese · · Score: 1

    Developers write software. That is it.

    They should understand about resource constraints but that is all.

    They don't need to understand all the intricacies of configuring systems in a complex environment, most silently security, or know about the latest and greates patches and gotchas going on on the system.

    If I have got a penny for every time an application required to run with a privileged account unjustifiably, only because the developer worked as a privileged user all the time, I would have quite a bit of extra money by now.

    That is the reason the two specialisms have evolved.

    --
    IANAL but write like a drunk one.
  197. His own limitations? by jotaeleemeese · · Score: 1

    Which ones?

    The limitations were in the developer's side for not knowing the implication of running everything using privileged access.

    --
    IANAL but write like a drunk one.
  198. No, no, no. by jotaeleemeese · · Score: 1

    Unless developers assume responsibility for the security for the infrastructure they are working with, then they should not be given admin rights.

    My ass in the fire? Then the admin password is mine only.

    When developers join a firm there should be a standard set of utilities used internally which the developers must use. Developers should not pick and choose whatever they want, that is a recipe for disaster and a technological nightmare. And what about the licensing? Are the developers going to report all the software they install accurately for licensing purposes (even good admins have problems with this at times).

    In return development teams should have speedy service, and once a tool is identified as essential it should be installed promptly.

    But give admin rights to developers? Nope.

    --
    IANAL but write like a drunk one.
  199. So they take responsibility for viruses? by jotaeleemeese · · Score: 1

    For applications that unwillingly (or willingly) stage DOS attacks (I have seen this against services as varied as NTP, NIS+, DNS and DHCP).

    Can you swear that no developer will start a little DHCP or boot server of their own.

    Guys, some of you are far too naive to be working with computers. At times I think it is a real miracle IT infrastructure works at all.

    --
    IANAL but write like a drunk one.
  200. Then admins were not good enough. by jotaeleemeese · · Score: 1

    I would have identified the offending programs next day and had a serious disciplinary talk with your mate.

    Nowadays there are plenty of tools to audit machines to stop these kind of shenanigans.

    --
    IANAL but write like a drunk one.
  201. Depressing landscape. by jotaeleemeese · · Score: 1

    It is no wonder that computing is the cesspool of insecurity it is, when most people in this thread find all kind of inane justifications in order to jeopardize the companies they are supposed to be serving in a professional manner.

    Many people on this thread claim that they can't do their job without admin rights of some kind, which is patently untrue:

    - Do you need to install an application? Then ask your Sys Admin. Too much work for them? Then reorganize how the Sys Admin deals with development support. Ain't going to happen? You are working in the wrong company then.

    -I need to install X,Y or Z application, library, whatever.: No, you don't. Refer to the list of approved software and use that, if some new software is needed then follow the procedure to get it included into the list. The procedure to get hold of new software is too long? Fix the procedure, you installing random stuff from the net is not the fix.

    - I need a program that requires elevated privileges!: use a different program, the one you are using now does not care about the safety of your IT infrastructure, if this is not possible pick the damn phone and ask the software provider to fix the program, if they don't fix it expose them t public ridicule. Again, you don't need privileged access.

    I have worked in many shops, both big and small, where people were reluctant to let the privileged account go (the real reasons were normally more mundane: could not download the latest and greatest games, could not use an arcane utility that was unmaintainable, you name it). Once appropriate policies and levels of support were in place the need for privileged local accounts became non existent (and the instances of security problems decreased dramatically).

    Giving privileges to anybody but the sys admins is a sure way to create nasty problems.

    --
    IANAL but write like a drunk one.
    1. Re:Depressing landscape. by W2k · · Score: 1

      Many people on this thread claim that they can't do their job without admin rights of some kind, which is patently untrue

      Yet each one of your "solutions" has the obvious effect of stopping me from doing my job. My time is too valuable to the company to have me waiting for a sysadmin, authorization from higher-ups or jumping through bureaucratic hurdles every time a trivial task like installing or upgrading an application/library/whatever has to be performed.

      Of course I have local admin rights on my workstation. It's trivial to re-image should I mess it up (hasn't happened yet, mind) and it lets me do my job as efficiently as possible. Of course, since I'm a professional, I don't abuse my admin rights to do anything that might be a nuisance to anybody else. Not that I could do much with just the admin rights to my own workstation. Saturate the network, perhaps - but then an admin would drop by to give me a slap on the wrist within minutes, as the network is properly monitored.

      Did I mention, me and my co-developers also have admin rights on the testing, and production servers? Yes, production. Again this is about empowering professional developers to carry out their jobs as efficiently as possible. What if I should screw up and drop all the tables on the production db, you ask? Well, it's obvious I wouldn't do anything like that intentionally, but otherwise, that's what backups are for. Not that I'd expect to keep my job should I make such a mistake.

      Perhaps if you work in a "shop" full of pimply-faced code monkeys who can't be trusted with admin rights to the testing environment, or even the computers on their desks, then lots of policies and nazi sysadmins are quite in order. But perhaps then the real problem is with the recruitment standards. I for one wouldn't want to work in a place were such restrictions were necessary.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    2. Re:Depressing landscape. by haruharaharu · · Score: 1

      -I need to install X,Y or Z application, library, whatever.: No, you don't. Refer to the list of approved software and use that, if some new software is needed then follow the procedure to get it included into the list. The procedure to get hold of new software is too long? Fix the procedure, you installing random stuff from the net is not the fix.

      You want the app to be finished in 6 months or a year? Yeah, I thought so.

      - I need a program that requires elevated privileges!: use a different program, the one you are using now does not care about the safety of your IT infrastructure, if this is not possible pick the damn phone and ask the software provider to fix the program, if they don't fix it expose them t public ridicule. Again, you don't need privileged access.

      Yeah, adobe will issue me an emergency patch because I asked nicely. Where do you work, anyway? All your points read like "I'm right. When I'm wrong, restate the problem so I'm right."

      --
      Reboot macht Frei.
  202. answer the questions by Anonymous Coward · · Score: 0

    It all depends on the questions:
    -How can the developers do the most work without being limited
    -How can I reduce the workload of the system admins for those guys

    For some kind of development, it can be done with normal limitations.
    But other kind cannot. And you'll have to find a suitable solution to work with.
    For example: separate machines, virtual machines, give the local admin rights on their regular machines, etc.

    There will always be a conflict between the needs of a developer and a system admin and most of the times they do not take the other needs into account.
    As a webdeveloper I had a webserver running local on the usual port 8080. I was not amused when the admins installed a new virusscanner with build-in server that uses the same port. I had to have the privileges to change one of those servers. Without local admin rights I would have been unable to do it and that would mean I am unable to do my work (= useless spending of money). I don't think management would ever want to see that! :)

  203. Re:When you get your PHD in English MAYBE I'll lis by lgw · · Score: 1

    Preferences indeed. The preferences of employers matter much to those of us not independently wealthy. The preferences of senior engineering staff (you know, us old guys) matter much if you want to succeed in engineering. In any sort of professional career involving working for others credibility is key to success, and expressing your ideas clearly and persuasively in writing is needed for any sort of credibility.

    Or, in onther terms, ZOMG fail lrn2Eglish!

    --
    Socialism: a lie told by totalitarians and believed by fools.
  204. Re:Wrong. Admins want to make everybody's job easi by unixguy43 · · Score: 1

    I'd always joke with people, saying that my job would be a whole lot easier if we could just keep all those pesky users off the servers. The reality of it all is that (obviously) without the users, there's no need for the servers, and therefore no need for the admins either. The admins provide an appropriate space for the users to work in, but also have to be able to maintain control from the standpoint of "IT practices". Developers have different goals than admins, but I don't think that means that they don't see the big picture. I think it means that they just see a different big picture than the admin. I've worked with a number of developers that were more than competent at managing the system as well as working the development side, but corporate practice forbid them to perform admin functions. When it's come to restarting applications or installing application libraries or anything of that sort, I've had no problems with developers making the changes as they need to. The difference is that they would have privileged accounts to allow those changes to be made, but not to make changes to the Operating system or to restart a box. Those practices generally fall outside of a developers normal set of responsibilities. Now I've worked in environments where developers have had full admin rights on their systems, but at the same time, that was also part of an informed management decision, which also removed my responsibility for those particular systems. The admin is ultimately responsible for the health and well being of a system, not the developer, which means that the admin needs to do whatever is necessary in order to ensure that system integrity is maintained, while also allowing the developer as much access as is feasible within this context. More often than not, this ends up being a compromise that neither the developer or the admin is happy with.

  205. I do by xiong.chiamiov · · Score: 1

    At one of my jobs, I was given a laptop, with the full expectation that I would erase the Vista partition and install Linux. At the other, I was given a desktop with a blank hdd, and a day to configure it.

  206. Yup, got admin rights. by crowne · · Score: 1

    I had admin rights at my previous job, and I started a new job last monday with admin rights by monday afternoon.

    --
    RTFM is not a radio station.
  207. What devs by Anonymous Coward · · Score: 0

    As said before, any developer who can't administer their own machine is not a good developer. I've worked with several who were so ignorant of their OS that they would send a request to Help Desk to do menial tasks like install service packs or partition their new hard drive. Really? Come on, one woman didn't even know how to install her OS from scratch on a new machine. She was waiting for someone in IT to do it for her, I said "Uh, why don't you just throw the Windows disk in there and do it yourself?" And she says she doesn't know how. WTF.

    The common factor with these devs is that they also coded very poorly, did not understand what the system was doing for each line of code, were completely ignorant of why you get different performance with one line of code that makes a DB call, reads a file, or simply increments a number. I tried explaining that it doesn't matter how fast your CPU is if you're waiting for a lengthy DB query, I get deer in the headlights look.

    Bottom line, a dev who can't administer his own machine is not a real geek who grew up building machines and learning everything about them because he loves it - they are the product of Computer Science classes and know the bare minimum they need to know to put code together and make it do stuff. Someone who decided at age 20 "Uhh, software devs make good money, I'll do that." I don't want any devs like that on my team.