Re: GNOME and superuser (privilege raising) integration



On Tue, 2003-05-13 at 16:43, Hongli Lai wrote: 
> On Tuesday 13 May 2003 22:30, Sean Middleditch wrote:
> >
> > Heck, libsu-run could just be the "su" wrapper on some platforms.
> > (Altho that's rather crappy, since then you can't do sudo-ish things
> > with it; on some platforms, you must makes users be in group wheel,
> > which is nasty, but anyways.)
> 
> Calling "/usr/sbin/libsu-run %s" is no different than using xsu/gnome 
> superuser/gnome-sudo/whatever tools people have written in the past. And why 
> did they not get included? Because - tadaa - they don't respect PAM and 
> consolehelper!
> And tataa: you just ran into a cirular problem!

I think perhaps you only read the first thign I said and didn't bother
with the rest?  ;-)

libsu-run could do whatever you wanted.  It doesn't matter if the
authentication is in a library or a standalone executable, so far as PAM
is concerned.

Additinally, your library _cannot do PAM_.  An app must run as root on
most platforms to use PAM, because the pam libraryes need to be able to
read the passwd database.  You _must_ have a process running as root;
again, I hope you don't want all your app to be setuid root to use your
library, do you?

> 
> > GNOME supports multiple platforms.  This is a simple fact.  No
> > technology part of GNOME or integral to GNOME can be a Linux specific
> > answer.
> 
> Not even if it has cross-platform fallback code?
> 
> The *only* cross-platform method is su. But we can't use su, because it's not 
> PAM (read some of Havoc Pennington's mail about this). We can't use PAM 
> either because it's not available on all platforms.
> So now what? Do nothing? Again?

Again, read all my mail, not select bits.  Libsu-run could be platform
specific.  ON PAM-based platforms, use PAM.  On passwd-shadow platforms,
use that.  Use HP-UX's specific stuff there, or Irix's specific stuff on
that platform.  You _are_ allowed to do that.

You can't write one routine/procedure that works everywhere for this. 
You can write several different ones and compile/install the proper one
for the platform you are building on.  You already said you planned this
for your library - what makes you think this wouldn't work for a
separate exectuable?






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]