Date: Mon, 7 Jan 2002 23:59:05 -0600 (CST) From: Ryan Thompson <ryan@sasknow.com> To: Arcady Genkin <agenkin-dated-1011329481.db2849@thpoon.com> Cc: <chat@FreeBSD.ORG> Subject: Re: Multiple root accounts Message-ID: <20020107233232.O26769-100000@catalyst.sasknow.net> In-Reply-To: <87zo3p776c.fsf@tea.thpoon.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Arcady Genkin wrote to chat@FreeBSD.ORG: > [...] > Here's what I can think of with regards to having one UID 0 account > per each admin: > > Pros: > - each admin can have his own customization (dot files etc.) Yes. > - possibly, accountability is increased Yes, for the normal things. Although anybody with superuser privs can easily mangle logs, etc. > - each admin can choose a password that's easy to remember for him Yes, and have the freedom to change that password independently of the other admins. > - no need to communicate a new password, like it would have to be > communicated if one root account were shared > > Cons: > - there is a chance that some admin would choose a weak root password Yes, but if you have an admin that does that, he/she should really NOT have root access ;-) > - anything else?.. > > What am I missing? It would be nice to hear how others approach > this problem. Multiple accounts with uid, gid = 0 is the better approach of the two. Also check out sudo (/usr/ports/security/sudo). It allows you to pick and choose actions for each user that are run with elevated privs. It provides a much more granular approach to delegating sysadmin tasks. But, I feel as though I should state my opinion in the larger picture. Having more than one full administrator for each machine, IMO, is usually a bad idea, unless perhaps it's a toy box for development, and even then you need some solid network ground rules. If you need to share the administration of one machine, I favor the following approach: o ONE responsible, accountable administrator with root access o No one else with a root account For each delegated responsibility "x", follow this questioning, in this order: 1. Can x be done by a normal user? (More often than not, the answer is "yes", or "yes, with a few changes to ownerships and group membership"). If yes, do it. 2. Can x be implemented securely by a standard root process (eg, cron). If yes, do it. 3. Is there an alternative to x that does not require superuser privs? (i.e., move things to SQL database, install a competing version of the program, etc) 4. Ok, if x really requires root, can it be executed with sudo? (I am not aware of very many things that can't be done with sudo.. so the answer is probably "yes"). 5. If all else fails, the single root user can do it. If it is a sufficiently time consuming task, you'll be looking for ways to do it in 1..4 pretty soon. :-) Sometimes, you'll find tradeoffs, and the above, by far, isn't an exact science, but as a general approach, it seems to work quite well for myself and others. If you force yourself to consider option 1 before 2, etc, as opposed to being lazy and doing everything as root (or, worse yet, handing out root passwords) you'll most often end up with a more stable and secure system. Even if you don't need to delegate any responsibilities, this is a good approach to follow, to shield you from accidental root mishaps and the like. To reuse a tired cliche, giving someone root access to perform two or three tasks is like using a sledgehammer to crack a walnut. Seek viable alternatives! :-) - Ryan -- Ryan Thompson <ryan@sasknow.com> Network Administrator, Accounts SaskNow Technologies - http://www.sasknow.com #106-380 3120 8th St E - Saskatoon, SK - S7H 0W2 Tel: 306-664-3600 Fax: 306-664-1161 Saskatoon Toll-Free: 877-727-5669 (877-SASKNOW) North America To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020107233232.O26769-100000>