Skip site navigation (1)Skip section navigation (2)
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>