Forgot your password?
typodupeerror
Security Operating Systems Software Unix

UNIX Systems Control Politics? 133

Posted by Cliff
from the got-root dept.
pariahdecss asks: "I have just been hired as the webmaster for local college. The website for which I am responsible is hosted 'in-house' and controlled by the college. The server box does not have any other production systems on it besides my website. The website that I have inherited is driven by an amalgam of Embedded Perl and PostgreSQL. Now to the politics...the UNIX Administrator does not want to give me root access to this box. What have others done when faced with this type of systems politics? Is it even possible to function as a full scale webmaster without root access to the box you serve from?"
This discussion has been archived. No new comments can be posted.

UNIX Systems Control Politics?

Comments Filter:
  • by at2000 (715252) * on Sunday November 21, 2004 @11:26AM (#10880753)
    I don't think anyone would agree with you.

    Which of Perl and Postgresql needs root? If webmasters need root access, then who else don't need?
    • by harikiri (211017) on Monday November 22, 2004 @05:48AM (#10886459)
      Reminds me of an advertisment I saw just a few days ago. The magazine is literally sitting next to me, so let me just grab it to refresh my memory...

      ...ahh here's the quote:

      "How many Developers run as Administrator on their development box? Our research shows 95% or more - despite this being a known practice which introduces deployment and/or security flaws in applications downstream!"

      Either way, it's an absolute PITA to do development without the freedom provided by having total access (installing third party packages/software, modifying permissions, configuring services). You can install applications like Sudo [courtesan.com] to grant elevated privileges on a case-by-case basis, but you have to be serious about it because there's a lot of configuration you have to do if you want to do it properly.

      Sidenote: My colleague who used to work for a bank told me a tale where he was not allowed to see what cron jobs were running on a system, but for whatever reason - had been given access to use /bin/cat with sudo. At one stage he "cat" the /var/spool/cron/tabs/xyz (or whatever the path is), in order to find out why some process was hogging the system resources. When he offered a suggestion on how to improve it - the admin looked at him oddly and was like "how do you know what cron jobs are running!?"

      • Jesus Christ, what asshat admin gave him sudo access to /bin/cat?!

        With just that one command, it'd be piss-easy to take over the box (if he's evil) or screw it up terminally (if he's incompetent).

        Might as well not bother with sudo at all...
        • How exactly would you use 'cat' to take over the box? As I read the man page for cat, it only writes to stdout, and the shell (or sudo in this case) would be responsible for opening stdout, hopefully before doing the setuid call. So, you'd be able to read any file on the box, but not write to any. /dev/kmem would certainly be helpful, but finding passwords in there wouldn't be 'piss easy'.
        • With just that one command, it'd be piss-easy to take over the box...

          Could you please explain to me why? I just want to be sure. The only thing I can imagine is that you could do something like "sudo cat newaccount >> /etc/shadow", but I suspect that this obvious backdoor was firmly slammed shut years ago.
          • This doesn't work (just checked), but since you can see /etc/shadow you can now run John the Ripper against it. And it's *very* effective. Unless the system has really good passwords it'll eventually get some of them, and from there you can potentially wreak havoc.

            john's pretty fast, you can be almost certain to get something in an hour from a shadow file with many accounts, or at least something in a day.

            There are other possibilities, like grepping log files and root's .bash_history for passwords typed i
  • Yes (Score:5, Insightful)

    by metalhed77 (250273) <andrewvcNO@SPAMgmail.com> on Sunday November 21, 2004 @11:26AM (#10880757) Homepage
    It's entirely possible to function without root. Albeit to a limited extent. You have to ask your admin to install / upgrade software for you, but do it enough and maybe he'll get sick of it and give you root. Next?
    • Re:Yes (Score:5, Interesting)

      by NemoX (630771) on Sunday November 21, 2004 @02:57PM (#10881869)
      Or, do it enough and piss him off so that a policy will be put in place to start a versioning system with installation time tables. I have seen this backfire in favor of the admin before.

      Webmasters are more lined up with programmers these days (think maybe .jsp, .aspx, etc.). And I can guarantee you that those programmers don't have root access to the web boxes in an environment that is properly set up. Why? Because they are programmers, not administrators...just as a webmaster is exactly that, and not an administrator. If you want root, you will need to prove that you are a capable UNIX administrator. Best thing to do if you want root, is to be his understudy and learn from him. Then, in time, when you are knowledgeable enough, you will get root. I doubt that you already have that knowledge since webmasters get paid much, much less that UNIX admins, so if you had it you would be a UNIX admin somewhere that would be paying you a heck of a lot more. Until then, sit back and enjoy the ride.
    • Re:Yes (Score:5, Informative)

      by Geoffreyerffoeg (729040) on Sunday November 21, 2004 @02:58PM (#10881877)
      It's entirely possible to function without root.

      I webmaster the site for our state's math club chapter, which uses ASP/Access for online registration (not my choice - this is an inherited site, and our host is on NT). All I've got is FTP. I can function as well as I need. Exactly what do you need even non-root shell access for? All you should need to do is edit files and change stuff on the database...and the database should let you use a local client.

      What exactly is a "full-scale webmaster" other than a system administrator also?
    • Re:Yes (Score:5, Informative)

      by rtaylor (70602) on Sunday November 21, 2004 @05:02PM (#10882589) Homepage

      Albeit to a limited extent. You have to ask your admin to install / upgrade software for you, but


      Heck, It's PostgreSQL, Perl and Apache. None of those needs to run as root, be owned by root, etc.

      Just get a few gigs of diskspace in your home directory and go from there. Since this person can be trusted as root, surely they know how to compile software to places other than /usr/local (or default path of choice).
      • Re:Yes (Score:2, Insightful)

        by yasth (203461)
        A lot of people like to use special user accounts for apache/db daemons, esp. in production environments. (Though there is some debate about this).

        Oh well doesn't matter anyways. The proper way to handle such things is to make requests on paper, and with deadlines, you will either get what you need, or you will get root. (Truthfully if someones wants to maintain a server for me, handle backups, and manage security updates, well that isn't something I would complain about unless they didn't actually do it)
      • Heck, It's PostgreSQL, Perl and Apache. None of those needs to run as root, be owned by root, etc.

        How can Apache listen on port 80 without setuid root? Do modern systems that follow the Single UNIX spec to some extent have such fine-grained privileges on the network stack that the admin can specify that user apache may bind a socket to TCP port 80 and listen on it?

        • After a bit more reading, others seem to suggest [slashdot.org] that the answer is Affirmative. It appears that on some network stacks, the system administrator can use iptables or the equivalent in other systems to forward port 80 to a port owned by a less privileged process in a chroot jail.

          But do Solaris and the BSDs support such local port forwarding? I'm at a loss for Google keywords.

      • True, but it's really a bitch sometimes installing software (such as CMFs) as non-root. Documentation / support is often times spotty, and I'd rather do it as root or get root to do it for me.
  • and can you use sudo?
  • by mjpaci (33725) on Sunday November 21, 2004 @11:29AM (#10880777) Homepage Journal
    Please, let us know why you need root and we'll then tell you 1) how to attain it using politics or 2) that you're being a baby.

    --Mike
  • sudo (Score:5, Informative)

    by xmas2003 (739875) * on Sunday November 21, 2004 @11:30AM (#10880783) Homepage
    sudo [www.sudo.ws] is a great tool to control and log root access - if the UNIX Admins aren't using this already, they should be.

    So document exactly what you REALLY need sudo access for, and *if* there is a business case justification, then they should be able to grant this on a per command basis. There should be no reason for a webmaster to "need" the root password.

    • by seann (307009)
      sudo sh
      • You're never configured sudo, have you? Or if you have, you've never configured it right.
        • Re:sudo (Score:3, Interesting)

          by yarbo (626329)
          sudo vim :sh I'd expect a text editor in the list of available commands...
          • rvim?
          • Why would you expect a text editor. If you could run a text editor as root you could modify any files you don't have permissions to. The editor doesn't need to be run as root you just need permission bits set on the files that you need access to. Giving you root access to an editor is pretty unnecessary in any circumstances.
            • And editors that allow the user to open a shell, like vim, are tantamount to giving root access to the user.
          • by batzo (168271)
            sudo vim :sh I'd expect a text editor in the list of available commands...

            sudo vim -Z cures this little problem....
  • No (Score:5, Insightful)

    by cookiepus (154655) on Sunday November 21, 2004 @11:30AM (#10880785) Homepage
    You're the one trying to do politics. Your domain as webmaster is html files, scripts, etc. You don't need to have root pass to upload files. Everyone who uses someone else's system for hosting is a webmaster w/o root access to the server. The two things are unrelated.

    As your sysop to do things whenever you don't have access to do something (set up a db?) If this happens often enough he'll reconsider the policy, but most likely you will be just fine w. the privileges you have.

    • Yes, to be a real webmaster, you need some form of root access. Sooner or later you'll need to upgrade the web server, or at least restart it. The alternative to having root is generally having several sacoounts, with passwords - and some of them shouldn't be shell accounts, so that is a problem. There are scores of other reasons.

      As others have said, sudo is the answer. Make up a list of the things you think you'll need root for, sit down with the system administrator, and work it out.

      We have things d
      • That actually brings up a really good point. What exactly is supposed to be doing on the site?

        If the O.P. is just supposed to be managing content, then web pages, images, and database content are his domain. Period. Live with it, or ask the sysadmin to set up a test/staging server that he has access to, and maybe root on, then all content changes get rsynced accross.

        If he is supposed to be managing the app servers (ie: mod_perl code, or something that would require apache to get the occasion kick in the c
  • SUDO (Score:5, Informative)

    by missing000 (602285) on Sunday November 21, 2004 @11:32AM (#10880794)
    I'd just ask for sudo [courtesan.com] access to the resources I needed. Also, you never said why he denied access. Does the system have trust relationships with other systems he want's you out of?
  • Full administration with no root passwd is possible only using sudo...
  • by Anonymous Coward
    See it from his point of view, most people are morons. I would never give root to someone who could well start running all kinds of crap, it's me that gets it in the ass when some dolt starts 'sharing' copyright material.

    Get to know the guy, there's a whole load of politics that is required in a work enviroment and can be discarded if you trust people not to shaft you. It cuts both ways but you will get your root if you're not a liability and it makes his job easier.
  • Government Systems (Score:3, Interesting)

    by digitalchinky (650880) <dtchky@gmail.com> on Sunday November 21, 2004 @11:35AM (#10880824)
    For the first several years working for DSD there was no way in hell they were going to give me root access to anything, my data and home directories could be measured in the tens of gigabytes just to overcome these limitations. That was solaris, unfortunately (in my opinion) to get anywhere near the same functionality (as root access) you'll spend a huge amount of time recompiling applications, tweaking config files to do things that probably nobody ever intended, along with being on your supervisors shit list for blowing out disk space, audit trails, and... well... just because...

    Not easy.
  • No. (Score:4, Funny)

    by epsalon (518482) * <slash@alon.wox.org> on Sunday November 21, 2004 @11:38AM (#10880833) Homepage Journal
    Diebold systems control politics.

    Oh, you meant politics of UNIX system control? Never mind.
  • by Gothmolly (148874) on Sunday November 21, 2004 @11:45AM (#10880872)
    Test, and Production. Build a linux box, give yourself root, do all your play work there. When its time to make real changes, in 1 shot, ask the SA to do whatever you need (upgrade PHP to version foo, edit config file bar, etc). They're more likely to do it if you don't nickel and dime them every day for little stuff. Plus, you have the added bonus of not fscking up your main, real, this-is-your-paycheck website doing test work.
  • by AndroidCat (229562) on Sunday November 21, 2004 @11:54AM (#10880920) Homepage
    You don't say anything about what else you inherited along with the website: Was the previous web admin a jerk? Was the server a pustulent boil on the face of the university's net?
  • by thenerdgod (122843) on Sunday November 21, 2004 @11:58AM (#10880933) Homepage
    You should only need root-style access to do one thing, and that's restart apache. And if your sysadmin uses, say, iptables/ipfilter, he could just redirect port 80 to some port above 1024 and then you wouldn't even need root at all! Quit whining!

    "But Wait!" you say, "What about software upgrades? New Perl modules?" --Sorry, bub, installing and upgrading software is exactly what the sysadmin is there for. These are her systems. Not yours.

    It's likely your sysadmin is smarter than you, and has been doing this longer. And while I'm sure you have "teh lunix" at home and run X as root "all the time", that doesn't make you worthy of having root on the universitie's box. Quite frankly, having been through this from the sysadmin's side, No, you don't need root, and it's YOU who's playing the political game, not them. It's their box, their system, their software. The limousine company owns the cadillac, you just drive it around and make sure it has gas. Thank you. Move along!

    • Can't agree more. The only time you need root access is a) you are doing system/OS level work b) you have a daemon using a port less than 1024. If it is case a, you are not a webmaster, you are a root. If it is case b, your root should be able to make sure you can stop/start the process, if asked nicely.

      This jerk is asking for trouble.

    • Not to mention, running httpd corraled as a normal user account is a great way to beef up security.
  • by dougmc (70836) <dougmc+slashdot@frenzied.us> on Sunday November 21, 2004 @12:06PM (#10880971) Homepage
    Now to the politics...the UNIX Administrator does not want to give me root access to this box.
    Well, who's going to have to fix the box if you break it? The UNIX Administrator, probably.

    You've not mentioned anything of your skills or previous experience. `Webmaster' could mean that you're a skilled systems administrator and/or programmer yourself ... or it could mean that you spent 15 minutes playing with Frontpage and Photoshop. Or anything in between.

    What have others done when faced with this type of systems politics?
    It's a university, so things may be different, but in the business sector, one makes a business case for needing root access, and puts that, plus the pros and cons into a presentation and presents that to management and the systems administrator. If you have the needed skills, and can convince people that having root access would make for a better web site, the sysadmin may be happy to let you have access to your box (because it may mean less work for him.) At least in the business world, politics definately exist, but a good business case can often cut through it like a knife through butter. (It's unfortunate when skilled sysadmins and programmers have to spend their time making Powerpoint presentations, but it's often how you deal with the suits.)

    But if you're some `loose cannon' who doesn't know anything about *nix system administration beyond what you've read in some book, then root access is a disaster waiting to happen.

    (As I said, I don't know which group you fit into.)

    Is it even possible to function as a full scale webmaster without root access to the box you serve from?
    It sounds like you've already answered your own question, and want us to come up with the same answer. `full scale webmaster?' In any event, my answer is `yes', which is probably not the answer you want to hear.

    Not having root access is a blessing in disguise too. If something gets really messed up and root access is needed to fix it, you have the benefit of 1) not being blamed for it, because you couldn't have done it, and 2) not having to fix it.

    One piece of advice -- what ever happens, don't try to `crack' root access. Getting caught, even if you think it helps you do your job, is likely to end in your being fired, and could even find you being arrested. (Yes, it has happened.) If you're a student, you could even be expelled. Not worth the risk.

  • Your answer (Score:5, Insightful)

    by Safety Cap (253500) on Sunday November 21, 2004 @12:14PM (#10881007) Homepage Journal
    "~ the UNIX Administrator does not want to give me root access ~. ~ Is it even possible to function as a full scale webmaster without root access to the box ~?"

    This article advocates a

    ( ) technical ( ) legislative ( ) market-based (x) vigilante

    approach to website administration. Your idea will not work. Here is why it
    won't work. (One or more of the following may apply to your particular idea,
    and it may have other flaws which used to vary from organization to
    organization before a poorly thought-out, ineffective approach is suggested.)

    (x) Sudo will allow you to do what you need
    ( ) Installing extra software on a machine without the Admin's knowledge
    is bad
    (x) You don't know what you're doing
    ( ) Hosting w4r3z and hacks on company-owned equipment is bad
    ( ) You are not mature enough to manage a box in a production environment
    ( ) Your users will not put up with it
    ( ) SCO will not put up with it
    ( ) The police will not put up with it
    ( ) Requires too much cooperation from the Admin
    (x) Requires immediate total cooperation from everybody at once
    (x) Your employers cannot afford to lose services or alienate students
    ( ) Students don't care about your lack of web admin skills
    (x) Anyone could anonymously destroy your entire site due to your
    inept administration skills

    Specifically, your plan fails to account for

    ( ) University rules expressly prohibiting it
    (x) Lack of centrally controlling authority for servers
    ( ) 5kr!pt k!dd!35 installing open relays
    ( ) Backup and restore
    ( ) Asshats
    ( ) Jurisdictional problems
    (x) Unpopularity of weird new configurations
    ( ) Students' reluctance to use an obviously hacked site
    ( ) Huge existing software investment current setup
    ( ) Susceptibility of poorly configured machines to attack
    (x) Your willingness to install OS patches in a timely manner
    ( ) Armies of worm riddled broadband-connected Windows boxes
    ( ) Extreme fun of web h4xx0r5
    ( ) Joe jobs and/or identity theft
    ( ) Technically illiterate school administrators
    (x) Extreme stupidity on the part of people who think they need root
    in order to do their job
    ( ) Bandwidth costs that will increase once the b0xx3n are pwned
    ( ) IE

    and the following philosophical objections may also apply:

    ( ) Ideas similar to yours are easy to come up with, yet none have ever been
    shown practical
    (x) Any scheme based on 'su' is unacceptable
    ( ) Lack of knowledge upon how to manage a web server should not be the
    subject of politics
    ( ) .htaccess sucks
    ( ) mysql sucks
    ( ) Countermeasures should not involve wire fraud or credit card fraud
    ( ) Countermeasures should not involve sabotage of campus networks
    ( ) Countermeasures must work if phased in gradually
    ( ) Surfing the web should be easy
    (x) Why should we have to trust you and your servers?
    ( ) Incompatiblity with open source or open source licenses
    (x) Feel-good measures do nothing to solve the problem
    ( ) Temporary/one-time root access is cumbersome
    ( ) I don't want the campus regents looking over my shoulder
    ( ) Web admins who have been coasting along with barely any knowledge
    of what they're doing should be killed in a way is slow and painful

    Furthermore, this is what I think about you:

    ( ) Sorry dude, but I don't think it would work.
    (x) This is a stupid idea, and you're a stupid person for suggesting it.
    • Can I use this form for work I need to do? Thanks for the laugh.
      • I think that form, in various permutations, has been making the rounds on spam discussion groups for at least a year.
        The things that I found funnies when I read it the first time was:
        Such a list existed.
        After lots of technical explanations, stood the word "Asshats" :-) How true. If you build an idiot-proof system, the uiniverse will provide you a better idiot.
    • Re:Your answer (Score:1, Insightful)

      by Christopheles (803724)
      And if it gets rooted, whose fault is it? Seems like that alone is reason enough to just get the sysadmin to do everything.
    • You may be right, but you're a goddamn asshole. Learn some courtesy.
  • by Androclese (627848) on Sunday November 21, 2004 @12:26PM (#10881072)
    Are you talking the modern Webmaster where their skill sets are limited to the design and content of the website or the Old-School Webmaster (like me) where you were responsible for everything like the OS, the software (Apache, mySQL, Perl, PHP), access (.htaccess, etc.), and the content (HTML, images, etc.)

    If you're talking a Modern webmaster, then no, they don't need it. The Server Admin just has to make sure all the directories they are using are owned by the assigned user.

    If you're talking Old-School, then yeah, it's pretty much a necessity; sudo at a minimum.
    • by M1FCJ (586251) on Sunday November 21, 2004 @01:34PM (#10881430)
      Nope, still not necessary. Apache/MySQL/perl/PHP can be compiled and installed anywhere you like and doesn't have to be owned by the root. All of these (if applicable) can use unpriviledged ports and the only thing the root has to do is use iptables/ipfwd rules to make sure it is accessible as if they are running on priviledged ports. This is applicable especially if you are old-school, you should know how to change mysql's default listening port. Any odd idiot might not know how to do this but you probably would.

      As for the contents and access, they are all files on a file system. Given the right access, you don't need more.

      Even more importantly, as a secure site policy, webadmins should never have root accesses, in case the webadmin's account gets hacked into, they should not even be able to see inside the system. In some scenarios a chroot jail might be the best solution. Still no need for root access. That'd be just stupidity.

  • You don't need it (Score:4, Insightful)

    by dimss (457848) on Sunday November 21, 2004 @12:31PM (#10881097) Homepage
    You can run Apache, perl and PostgeSQL without being root. Ask your admin for two things: port 80 mapping to 8080 and calling your startup.sh after boot (I do so in rc.local). And you're there.
    • Other access he may need is the necessary rights/method in order to gracefully shutdown the system (logged of course).

      Probably may wish to have one or two other user accounts too - so content that is to be "hard to change" can be owned by another account - just "read only" by the webserver.

      It may not be politics - it may be the sysadmin thinks pariahdecss has not presented sufficient evidence of competency and responsibility in order to be trusted with having root privilege.
      • Shutting down a system? Why? We are talking about Unix here, not Windows and IIS. Restart apache and bob's your uncle.
        • Re:Mod parent up (Score:3, Insightful)

          by TheLink (130905)
          Apparently pariahdecss is in charge of/responsible for the webserver and it's the sole app there.

          If the UPS/power supply/something makes funny noises or whatever, someone might want to go shut it down gracefully.

          Might as well allow pariahdecss to do it.
    • calling your startup.sh after boot (I do so in rc.local). And you're there.

      You're there all right if you get the sysadmin to run your whatever.sh in rc.local ;)

  • by t482 (193197) on Sunday November 21, 2004 @12:47PM (#10881179) Homepage
    Get a decent QA environment which is similar to production. Give the person an implementation plan for moving it to the other box. If it is a small environment in terms of people (which sounds like it is) and you want to put in many code changes - ensure they are scheduled for Friday or Saturday nights - no point in allowing him to still have a social life. In my experience in smaller environments eventually the sysadmin will capitulate and say - "OK - you do it yourself".

    In larger systems (eg banks) typically this is the way it works. Generally you also need sign off from the sys admins and each change goes through a change committee where they validate the change. Another group often audits the code to ensure there will be no bad impact and the code is ok (no security concerns).
    • Scheduling system updates on Friday/the weekend is SOP in any business environment.

      If, however, you do it unnecessarily, you're just asking to get put on the admin's shitlist.

      I've been on both sides of the fence in this, and having users get in your face over a bunch of meaningless changes when you've got a major system upgrade scheduled is not something any admin needs.
  • by DarkDust (239124) * <marc@darkdust.net> on Sunday November 21, 2004 @01:11PM (#10881293) Homepage
    Seriously, the only thing I could imagine where you'd need root access is restarting the webserver if it's serving from port 80 directly. As others have pointed out, you could have the sysop do portforwarding from port 80 to 8080 and then be able to run Apache on port 8080 as normal user. Or you could have him give you sudo access to the Apache rc script.

    Other than that I fail to see where any root access would be needed. You'll write and edit HTML and script files and you'll do some database stuff. There's absolutely no need to be root here.

    I think a sysop who doesn't give you root right away is a good sysop. UNIX gives you all the tools and concepts to let you do your work without ever being root. But you have to get used to it. In the beginning you'll have to bug the sysop a lot but within a short timespan you'll finally get to a point where you won't need him anymore as you'll then be able to do your work... without being root :-)

  • by kelleher (29528)
    I'd say you don't know enough about UNIX systems to deserve root access. What exactly do you think you need it for? The only thing you really need is the ability to start Apache on port 80. Everything else can be done w/out priviledged access if setup properly.
    • And even restarting apache on port 80 doesn't "Require" root - it just requires root privs for a single operation that can be isolated and controlled.

      Root access should almost never be used unless actively administering the machine. Other than that, control should not be used - or issolated to things that certain people can be proxied for (ie. restarting apache)

      Having said that - I am not all to certain why you would need to restart apache either.

      Now, lets get down to what you might need.
      A change m

  • You are a user. Not a Root. The only things you need is access to your own database (not THE database). You don't need database creation rights. You don't need access to Apache. If you need mod_*, ask your sysadmin to sort it out for you.

    The two things you need are rw access to some folders defined in Apache and rw access to some database backend. That's it. You don't need the root password. You are no longer working on Windows.

  • by blargh-dot-com (181292) on Sunday November 21, 2004 @01:21PM (#10881352)
    At a largish-university. There would be (and was) no way a webmaster would have root access to any boxen I controlled. For a number of reasons:

    a) You don't need it. Making sure apache is up and running and patched is my job, and I probably do it to 50 boxes at once and have nice automated scripts.

    b) Every single webmaster I met (until I left a few months) ago swore they needed root access to install some apache module or other. No, you don't. You ask the sysadmin and, most times, if he can do it without a huge amount of effort (pointing him to the exact URL of the module's home page, and even better, pre-compiled packages for your OS, would tend to improve his/her mood) then I will, after carefully evaluating it, its security, its size, etc.

    c) Politics sucks, and the poor sysadmin generally has to fight tooth and nail for every little bit he/she can get. Going the political route and over your sysadmin's head is a very good way whatever box you end up controlling has a number of... strange issues. Not saying I did this, but I know a LOT of sysadmins who have. A LOT. A lot of people you normally wouldn't expect. Especially in a university or state-run organization, politics and political image counts for a lot, and if you use politics to override your sysadmin, they're going to be very bitter about it. Not a good idea at all.

    d) Working with the sysadmin, if you can provide a DAMN good case, and actually show you know what you're doing, what will usually happen is the sysadmin will hand over root and wash his or her hands of the matter. Box gets owned? Your problem. Box goes down? Your problem. Operating system barfs? Your problem. Too many people having root is a terminally bad idea, and most sysadmins will avoid it like the plague.

    e) If all you need is the ability to restart/reload apache, there are a number of other ways to accomplish that, as has been mentioned. Personally, I would have gone the 80->8080 route, because I didn't hand out sudo either. :)
    • b) Every single webmaster I met (until I left a few months) ago swore they needed root access to install some apache module or other. No, you don't. You ask the sysadmin and, most times, if he can do it without a huge amount of effort ...

      I'd agree in general, and I've generally told people that I don't particularly want the root password, because it will make me responsible for the machine's administration, and they're not paying me for that. But I did have an interesting case a few years ago ...

      Sever
  • You dont need root access, its not your job.

    If you need something done that needs root access, that is what the admin is there for, it is his job to that part.

    Pretty simple really..
  • by Anonymous Coward on Sunday November 21, 2004 @01:48PM (#10881499)
    Every year I have to hear about this bullshit.

    Listen kid, we're going to tell you this now, don't forget this lesson. You are not special. You are not the brightest little ray of knowledge to ever grace the halls of your university. In fact, the odds are very much that you are aren't even good enough to be the layer of slime the illumnai pond scum will float on. There are 10,000 other eager little faces just like you. And the odds are you aren't anywhere near the top end. If you were, the faculty would be putting you to better use than being the webmaster. Any idiot can be the webmaster, quite successfully, however, giving that idiot root would endanger the system the sysadmin is charged to maintain.

    To summarize:
    1) You are not special
    2) You are should simply be happy you beat out those not smart enough to be webwanker
    3) You should put your little ego at the door and realize the sysadmin is only doing his job, if he were stupid enough to hand you root, he should be fired.
    4) Webwanking is not a technical task.
    5) Webwankers *SHOULD* *NEVER* *EVER* have root. It *ALWAYS* ends badly, at my university we have a policy that says just that. And many defacements have been avoided because of it
    6) Grow up! The sysadmin is getting sick of hearing this bullshit year after fucking year!
  • Simple Criteria (Score:2, Insightful)

    by qux.net (107853)
    If you break the server by installing/misconfiguring/changing configs, who will fix it?
    If the server goes down in the middle of the night/weekend due to configuration who will have to fix it?

    If the first is not you, you don't get root.
    If you don't at least share responsibility in the second (eitherwhoever's on duty or gets to it first, or it stays down once it's determined it's your problem until you fix it), you don't get root.
  • You both suck...... (Score:3, Interesting)

    by JDizzy (85499) on Sunday November 21, 2004 @02:28PM (#10881668) Homepage Journal
    I also have a bitchy so-called web master that wants root access, but I finally figured out it is his ego getting in the way of his own work. Ultimatly I created a sandbox where he can have root. Finux useres can try User-Mode-Finux hack, or if you use FreeBSD you can use a jail/prison, in Solaris you have containers, everwhere else you have chroot. Certainly my developers see my policies at politics, but I see it as idiot control.

  • by mkcmkc (197982) on Sunday November 21, 2004 @02:34PM (#10881710)
    To answer your question, it all depends. If your admin is good, not a misanthrope, and is basically interested in seeing the website succeed, you don't really need root. If not, you're probably going to fail anyway, as, even if you have the root password, he has more power to make you fail than you have to succeed.

    Almost every job I've ever had has featured at least one technically incompetent, obstructive co-worker. You can try to point this out to the higher ups, but your main options are to deal with the person via diplomacy or to find a new job.

    I once suffered, without root, under an admin who gave everyone the same home directory path, where the actual directory on each machine was owned by the user on whose desk the machine sat. So, if I logged into joe's machine, I'd be running his .login/etc rather than mine. (The admin claimed that this scheme simplified backups.) There were lots of other problems of a similar scale with this project, and no one with both technical skill and power to correct them. In a case like this, all you can really do is leave.

    If you're new, I'd give it at least six months. You may not even have figured out yet who the true problem people are on your job. Maybe this admin will turn out to be your best friend or mentor (or vice versa).

    Mike

  • ...just so we could all make fun of the guy?
  • Of course you can webmaster without root, how do you think hosting companies do it? You can upload files and admin the db. What more does a webmaster need to do?

    Oh, upgrades on perl/php/apache you say? Wait... isn't that a sys admins job?
  • by Dausha (546002) on Sunday November 21, 2004 @04:25PM (#10882362) Homepage
    First, get politics for dummies. Also, you don't need root, as has been said ad nausium. The fact that you are asking if you need root to be a full fledged web master demonstrates that you don't know what you're in for politically or technically. Odds are your admin is reading this thread and will know its you.

    However, I'll give you the loaded gun. Go ye therefore . . .

    1. Don't rock any boats for 90 days. You need this time to assess the political landscape and get to know who is really in control. You may find that the man in charge is not the man in control. If you start rocking your boat early, the man behind the curtain will be wise to you. IF that man is the sys admin you're trying to sweep the legs out from under, then clean up your resume.

    2. Get to know the system you're wanting to control. You need to know why you need root to ask for it. Needing to install software is usually the best excuse since routine permissions will fix any routine need for root. This also requires some major server overall that you *need* to get the website to some grand plan you have. You do have a grand plan, right?

    3. After the requisite time period (see 1), start making a lot of important installation requests staggared. Make sure you ask for it when he's swamped. That way he will seem unsupportive/inept. Don't forget to explain to man in control that you're not being supported.

    4. Explain to the man in control that if sysadmin would only give you root, you could take care of this on your own. Don't forget to wave your hand in front of the man in control or the jedi mind trick will fail. Hope that man in control and sysadmin are not friends.

    5. Hope that sysadmin is not politically savvy. If he is, prepare your resume. You have about a 25 percent chance of winning if you know what you're doing, and a 100 percent chance of pissing off your sysadmin.

    If he's worth his salt, once you have effectively stolen root from him, the server will have mysterious problems arise that can *only* have been because he was forced to give you root. Root will be taken from you and you will have a) made a serious enemy and b) "proven" your incompetence.

    The net result is that you will have weakened the organization as a whole.

    Alternatively, you can work your ass off for several months to impress the hell out of all involved and show that you can be trusted with root. No politics required.
    • However, I'll give you the loaded gun. Go ye therefore . . .

      Meanwhile, for the rest of his days there, he should be on the lookout for dark rooms with floor tiles lifted, electrified doorknobs, wires attached to his chair, etc. Also avoid using the elevator (if any).

  • by wikinerd (809585)
    Q: "Is it even possible to function as a full scale webmaster without root access"
    A: Yes.
  • Be patient (Score:3, Informative)

    by Darth_Burrito (227272) on Sunday November 21, 2004 @05:54PM (#10882921)
    I have just been hired as the webmaster for local college.

    This is your problem right here. If your predecessor did not have root access, you are going to have to prove to the admin that he should give it to you. Even if your predecessor did have root access, the sys admin may not be inclined to hand out root privileges to anyone with the title of webmaster.

    Just to give you some background, I work in a small college department, and I've got about three times as much access now as when I started 18 months ago (sometimes I wish I didn't). The secret is to be patient, work with the admins, and prove yourself over time. Also, help them out whenever you can (but only if you can). It's not in your interests to get in a power struggle with them.

    Consider pursuing projects that will benefit everyone in the value chain. For example, a lot of people use write only memory for their web logs. Perhaps you could implement some kind of log analysis tool, that could:
    1) Help the admin/you monitor attacks and load.
    2) Help you/content providers monitor page usage and user demographics.

    Maybe you could use something like AWStats [sourceforge.net]. A project like this will give you an opportunity to work closely with the admin, demonstrating both your expertise, and your ability to add value.
  • You don't need root (which they have said), because root can simply create a "web" or "www" group on the system (in the highly unlikely event one doesn't already exist), make you a member of the group, and give the group full privs on the stuff the webmaster needs privs on, e.g.:

    • /etc/httpd/ and things under it, so you can tweak httpd.conf
    • /var/log/httpd/ and things under it, so you can munge logs
    • wherever Postgres lives
    • whatever the web docroot is.

    That's the course I'd probably take, in your root's

  • My 2 cents (Score:4, Informative)

    by eyeball (17206) on Sunday November 21, 2004 @08:46PM (#10884040) Journal
    There seems to be a lot of 'you don't need root access' replies. I'd go so far as to say 'avoid root access if you can,' especially in a politically volatile environment. You'll get less blame when something goes wrong, and you can relax while they take care of the system patching, managing its network connectivity, disk space, etc.

    Working on a non-root server feels weird at first if you've run your own box for a long time, but other than the inability to listen on ports 1024 and a few minor resource restrictions, you should be better off. Coexisting on someone else's server can even make you very conscientious and more likely to keep a tidy server.

    Also, if you have to ask the administrator to upload files every time you change them, and you find yourself making many changes, ask yourself if you are doing too many updates because you don't have a proper test/dev/stage environment (if not, shame on you!). If not, maybe a compromise could be made to script a bulk site transfer from stage to production that you could control.

    • Re:My 2 cents (Score:2, Informative)

      by BJH (11355)
      Good answer.

      I work a lot on boxes for which I do not have root access (financial systems), and it's absolutely unnecessary if your admin is competent.

      Add a new user? Ask the admin.
      Restart a system service? Ask the admin.
      Implement regular backups? Ask the admin.

      Remember, it's his JOB. He's paid to do that sort of thing; you aren't. You're paid to get your application working and keep it working.

      (Actually, you can do an awful lot even without root access. I've built a fairly comfortable environment on a b
      • (Actually, you can do an awful lot even without root access. I've built a fairly comfortable environment on a bare Solaris box, including gcc, emacs, vim, Tcl/Tk, CVS, blackbox (because otherwise I would have been stuck with Exceed's godawful window handling), and many other utilities, and root was not required for any of that. There's a reason such things as PATH and LD_LIBRARY_PATH exist.)

        Same here. When I went from Linux to Solaris I cursed it up and down for not having any of the bells and whistles th
  • Chroot Jails (Score:3, Informative)

    by Bios_Hakr (68586) <xptical.gmail@com> on Sunday November 21, 2004 @10:10PM (#10884461) Homepage
    Have the admin look into using 'chroot.' Basicly, he can build a virtual computer inside the actual computer...or something like that. Anyway, I know that my hosting company has 10 people per server and everyone has root in their own virtual computer.

    Anyway, the point is if you screw something up, his server remains mostly unaffected.
  • by tverbeek (457094) on Sunday November 21, 2004 @11:07PM (#10884715) Homepage
    OK, now that we've got all of the entirely-accurate "you don't need root" lectures out of the way, I'd like to share how I did get root on some boxes at the college I work at.

    I started here 5 months ago. One of the things that got me the job was being able to tell my boss that "I know Linux", I've been running my own and a previous employer's web and mail servers for five years, etc. But that's not in my job description; it's someone else's job. In today's downwardly-mobile economy, I'm a mere "Technician" here.

    I didn't push it. When a problem with DNS cropped up, I used my knowledge of how DNS works to help troubleshoot it, passing useful information to my boss and to the guy responsible for fixing it. A couple months later when we started having problems with DHCP, I stayed late helping to troubleshoot. When it happened again the next week and I was the only other person around, my boss logged me in under an account with root privilege (she has it because she's the boss, not because she's qualified to use it) so I could restart dhcpd. The next time, she actually gave me root, and I figured out what the problem was... but let the official admin get it working. After that, I kept my privilege to maintain the DHCP system to make sure it stayed operational.

    That sounds like the end of the story, but it continues: I determined that the real problem with DHCP was that we didn't have enough addresses to accommodate student laptop plug-ins. I suggested a solution, and the boss let me do it: set up an old P2 box running Coyote Linux as a router, putting 30+ machines on their own subnet, thereby alleviating the problem (at zero expense). And on that box I don't just have root... I am root.


  • This may be a stretch, but can you talk you admin into installing a Linux VServer kernel or setting you up with a User-Mode Linux (UML) - this way you'll have root access and the admin will not need to worry about the security of the main box?
  • The Windows admins at a place I used to work let the web developers admin an IIS server. They were forced to revoke admin privs later, when they discovered that, among other travesties, they had granted system-wide full-control file access to the guest account.

    So, I can understand the perspective of the admins, and it's not necessarily just a power trip.
  • by ninewands (105734)
    I, along with two cohorts, admin pretty close to 100 boxes running a mixture of Linux, Solaris, Tru64 and Irix in a university environment. We host dozens of departmental and student organization websites from our servers. None of the webmasters have, nor do they need, root access.

    In short, the answer to your question about overcoming the admin's "power politics play" is ... you don't. My boss reports directly for the Assistant Dean of the College of Engineering. Think you can beat that kind of cl
  • Posting too vague (Score:3, Insightful)

    by georgewilliamherbert (211790) on Monday November 22, 2004 @03:03AM (#10885913)
    As has been pointed out more rudely by dozens of earlier responders, nothing in the initial question argues for needing root.

    The job role of Webmaster varies widely, from people whose responsibility it is to make sure that the links work and just about only that, to people who own the applications and content management, to people who build the server from bottom up including OS install and web apps and programming and HTML code and UI specification.

    The latter person owns the box. Most of the people short of that level don't need root. If you're maintaining the applications environment and need to install new versions of Apache, PostgresSQL, Tomcat or whatever, then you and the sysadmin need to come to an agreement on how that gets done.

    If you need to restart Apache, that's what Sudo is for.

    In any case, your job, rather than escalating the situation, is understanding and communicating the situation. If you need root, you need to understand and articulate why you need root. If you can't justify why you need it, you shouldn't be trying to go over his or her head. If you can make the case clearly and they still won't let you have it, then you can escalate.

    But understand first and explain second.

  • No fucking way.

    Ged it now?
  • In a politcal environment, use well documentated and clear trouble/issue tickets. Interlock them with the tasks you need to perform so that both of your supervisors and he know what he has to do and why you need the tasks done. If they want faster responses they can push him harder or tell you to work around it, etc.

    If he is blowing you off playing EQ or doesnt like you, then you can still move on with your otherwork and tell the upstream people where things are at.

    Likely you dont want to 'share' access t
  • by awol (98751) on Monday November 22, 2004 @11:54AM (#10888417) Journal
    Be grateful.

    Be grateful for the discipline that not having root access brings you.

    Be grateful that you do not have root access because that way you cannot fsck things up as root. The day you fsck things up as root on an important machine is the day you will appreciate all those times you couldn't do it before.

    Be grateful that all the shitty problems that are associated witht the things you want to be root for are someone elses problem. Think of it like a Service Level Agreement, you get to demand things of them without (so much) having to worry about how they have to accoplish them.

    You never want to be root on a system if you can avoid it. Particularly a production system (and the web server in question ain't one of them unless it controls the campus reactor or cyclotron or something). The fear that being root in a mission critical place is a thing to behold and from which to run away at the earliest possible opportunity.
  • by agristin (750854) on Monday November 22, 2004 @01:26PM (#10889347) Journal
    No developer should have root on PRODUCTION boxes.

    The process should be:

    development happens on development box (workstation, server whatever). Developers may have root on this- if they do, they manage it, OS hardware and all. Developers will use sudo if anyone else is responsible for the server hardware and OS. This should never be exposed to untrusted networks.

    QA stage: if you are poor or small, do this against the development box. If not this should be a seperate QA box. This should be managed by QA team. If the sysadmin is the same, the sysadmin should hold root, qa team may sudo, developers should not be accessing this box directly (except in emergency, then they will be sheperded by QA). This should also not be exposed to untrusted networks unless you have and excellent (and obeyed) security policy and review.

    Production: only the sysadmin has root, noone else should have access. The sysadmin publishes to production- using the release that QA approves. Highest security policy applies here.

    If your QA and dev team are the same, collapse development and QA- but trust me keep production seperate.

    -A
  • possible aid... (Score:2, Informative)

    by Rewbob (89555)
    To perhaps ease your pain some, check out my stash [freshmeat.net] project. It was designed with stubborn sysadmins in mind.... It eases the process of installing stuff into your home directory.

In a consumer society there are inevitably two kinds of slaves: the prisoners of addiction and the prisoners of envy.

Working...