Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 May 2010 17:22:06 -0400
From:      jhell <jhell@DataIX.net>
To:        Jeremy Chadwick <freebsd@jdc.parodius.com>
Cc:        Mikkel Skaerris <skaerris@gmail.com>, FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: Zpool scrub and not-root users
Message-ID:  <alpine.BSF.2.00.1005251647540.79746@pragry.qngnvk.ybpny>
In-Reply-To: <20100525201315.GA20323@icarus.home.lan>
References:  <AANLkTik61-R3JXS3uSurZo6dqEBNkfL_WDh0TzSzLcTn@mail.gmail.com> <20100524190433.GA36301@icarus.home.lan> <4BFC2354.5040104@dataix.net> <20100525201315.GA20323@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 25 May 2010 16:13, Jeremy Chadwick wrote:
In Message-Id: <20100525201315.GA20323@icarus.home.lan>

> On Tue, May 25, 2010 at 03:21:56PM -0400, jhell wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 05/24/2010 15:04, Jeremy Chadwick wrote:
>>> On Mon, May 24, 2010 at 05:00:03PM +0200, Mikkel Skaerris wrote:
>>>> Im wondering if there is a way of allowing non-root users to perform a disk
>>>> scrub using zpool scrub <pool>. I've been messing around with permissions,
>>>> but no luck so far. Anyone got a clue?
>>>
>>> One question: why?  Followed by one answer: sudo.  :-)
>>>
>>

Don't get me wrong I'm not shooting down sudo below.

: He does not need to add another layer of insecurity to his system such
: as sudo. Not saying that this is bad but it feels like a little overkill
: for something as simple as this.
>>
>> This can be done old-school.
>>
>> pw groupadd _zfsadm
>> pw groupmod _zfsadm -m {username}
>> chmod u+s,o-rx /sbin/zpool
>> chown :_zfsadm /sbin/zpool
>>
: Repeat command line 2 for every user you want to have root type access
: to /sbin/zpool.

I thought I said "root type access to /sbin/zpool".

>> Of course you do not need the zfsadm group to do this. You could just
>> use the wheel group which in turn gives any member of that group su(1)
>> access to the root user, so you commands would turn into...
>>
>> pw groupmod wheel -m {username}
>> chmod u+s,o-rx /sbin/zpool
>>
>> Because this binary is already installed group wheel there is no need to
>> chown it. And this is a little more implicit that you trust anyone with
>> access to the zpool command will also be having access to su(1)
>>
>> Pick one, and Ill leave the "how to keep these permissions through
>> upgrades/updates of world" up to you.
>
> If I'm misunderstanding what the OP wants, then I welcome correction.  I
> read the Op to want users to be able to run "zpool scrub", so I took
> that literally -- "/sbin/zpool scrub <pool>" and nothing more.
>

No you are not misunderstanding but I am also taking into account that the 
admin said "I've been messing around with permissions" & most notably I 
thought that he has tried the access control methods that are administered 
through the use of zfs allow which also might be a possibility if the 
admin has world/base on a zfsroot. Second thought that came to mind while 
leaving the possibility open to him was your standard Unix file perms.

While thinking about the scenario in a quick sense, If this is disk 
activity that the admin wants to grant to a user in the form of scrub on a 
pool then the admin already must trust whoever he is planning to give 
these rights and has taken into account the possibility of misuse which 
has lead him here asking for advice.

> sudo offers the ability for the OP to provide root-level access to
> defined users and ONLY the ability to run "/sbin/zpool scrub {pool}" and
> nothing more (e.g. not "/sbin/zpool remove" or similar).  It could also
> be used to define certain users to scrub only certain pools.
>

I hope so at least that's what it was designed for. Yes very well noted 
just leaving the possibility open to the admin to use something other than 
a third party package in case it is his policy to not have something like 
that installed. It happens.

> Your first and second solutions allow any user added to _zfsadm and
> group wheel, respectively, the ability to use /sbin/zpool.  I hear
> "zpool destroy -f" is a fun command to run while the system
> administrator isn't looking.  :-)
>

Good thing in most cases you can recover a destroyed pool or at least 
that's the way it was designed the last time I accidentally did that (-D).

Backups are also a good thing in the case of a angry over driven highly 
motivated administrator or staff.

;)

-- 

  jhell




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1005251647540.79746>