On Wed, Mar 19, 2014 at 5:41 AM, Hisham Muhammad <his...@gobolinux.org> wrote:
> Hi,
>
> I'm going through some annoyances in my brand new Gobo 015
> installation that are related to the handling of sudo in our Scripts.
>
> The symptom is that some Gobo scripts fail halfway through with
> permission errors when run with `sudo`, but they work if I use `su`
> and run them as root proper.
>
> I haven't diagnosed the whole thing in full yet, but it's not the
> first time I have this kind of problem. This got me thinking...
>
> ...is the whole dance with Verify_Superuser and Release_Superuser
> worth the effort, just to save us from typing `sudo` in things that
> are really administrative tasks?
The big problem as I remember was that the tools wrote files in ~,
which ended up owned #0 if you ran them under sudo. They'd then break
if you ran them again without sudo. It was a common problem reported
in the channel. There were previous changes making the tools elevate
permissions when they actually needed them so that people wouldn't
have to run them under sudo.

People were quite resistant to not running them under sudo regardless,
so Jonas's original changes just errored out when [ "$SUDO_USER" ], I
think, but you didn't like that (again, I think), so they were
modified to drop privileges back to the original user until the
installation step required them. The privilege-dropping is a bit of a
hack but at least at the time it worked with every combination of
viable invocations.

I'm not sure at this point that these were the right choices to work
around that issue. Certainly, a lot of people used `sudo
{Compile,InstallPackage,Freshen}` and subsequently turned up in the
channel with problems from it, so we should stop that somehow. I
suspect some of the causes were subsequently resolved by later changes
anyway.

I notice that `sudo env` on the machine I'm on at the moment gives
HOME=/root, so that probably points at a better resolution. It's a bit
odd if the per-user cache and the root cache are out of sync and you
get different results between checking something as yourself and
installing as root immediately after though.
> I was thinking of just stripping this whole thing away. The scripts
> are basically already designed to run without it (because of rootless
> mode) so I think it would just make things simpler and more reliable.
>
> As for concerns that were raised in the past tha Compile should not
> build things running as root, then maybe what we need is a `builder`
> user and use that instead when building (like we use `fibo` to
> install). Also, it's probably wiser not to let the build run with our
> own regular user anyway!
This seems sensible on both accounts.
-Michael
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to