[buildd-tools-devel] Bug#566879: Bug#566879: dchroot: does not work as root
Aurelien Jarno
aurel32 at debian.org
Tue Jan 26 16:38:16 UTC 2010
On Tue, Jan 26, 2010 at 11:43:53AM +0000, Roger Leigh wrote:
> On Tue, Jan 26, 2010 at 01:35:50AM +0100, Aurelien Jarno wrote:
> > On Tue, Jan 26, 2010 at 12:22:29AM +0000, Roger Leigh wrote:
> > > On Mon, Jan 25, 2010 at 07:44:05PM +0100, Aurelien Jarno wrote:
> > > > Package: dchroot
> > > > Version: 1.4.0-1
> > > > Severity: important
> > > >
> > > > Since the upgrade of dchroot to version 1.4.0-1, it doesn't work as root
> > > > anymore:
> > > >
> > > > | # dchroot
> > > > | E: Authentication failed: Operation not supported
> > > > | #
> > > >
> > > > dchroot still works as a user, and schroot still works for both modes.
> > >
> > > Were you previously using DSA dchroot or dchroot provided by schroot?
> > > If you were using DSA dchroot, have you tried the dchroot-dsa package?
> > > If you were using DSA dchroot, have you tried the dchroot-dsa package?
> > > [dchroot.conf format and command-line syntax differ slightly]
> >
> > I am using dchroot from the schroot source package.
> >
> > > There have been no dchroot changes TTBOMK since the previous stable
> > > 1.2.x releases (it's just an schroot API wrapper).
> >
> > 1.2.x works fine with the same configuration.
> >
> > > I'll take a look as soon as I have some free time. If you also use
> > > schroot, could you possibly try renaming dchroot.conf temporarily
> > > and dchroot should then use schroot.conf instead. Does this now
> > > work correctly? [If you don't have a schroot.conf, 'dchroot --config'
> > > will generate one for you]
> >
> > I don't have dchroot.conf, I am using schroot.conf for both schroot and
> > dchroot.
>
> Does the same occur if you run schroot as root?
No schroot as root works fine.
> Could you please try running with '-v --debug=notice' and let me
> have the log? This should hopefully narrow down the cause. If
Please find a log for dchroot and one for schroot attached.
> you have gdb and schroot-debug installed, you could run it in gdb
> with 'catch throw' and then get a backtrace which should identify
> exactly where it's failing.
I have installed it.
> I think it's in sbuild::auth_null::authenticate:
>
> case STATUS_USER:
> throw error(AUTHENTICATION, strerror(ENOTSUP));
> break;
Bingo!!!
| (gdb) bt
| #0 0x00007fcdbea39e60 in __cxa_throw () from /usr/lib/libstdc++.so.6
| #1 0x000000000049a972 in sbuild::auth_null::authenticate (this=<value optimized out>, auth_status=<value optimized out>) at ../../../sbuild/sbuild-auth-null.cc:103
| #2 0x000000000047bb02 in sbuild::session::run (this=0x24f2370) at ../../../sbuild/sbuild-session.cc:503
| #3 0x0000000000431560 in schroot::main_base::run_impl (this=0x7fffa20f6e10) at ../../../../bin/schroot/schroot-main-base.cc:311
| #4 0x000000000042af47 in schroot_base::main::run (this=0x7fffa20f6e10, argc=<value optimized out>, argv=0x7fffa20f7018) at ../../../../bin/schroot-base/schroot-base-main.cc:115
| #5 0x000000000041f969 in run<dchroot::options, dchroot::main> (argc=1, argv=0x7fffa20f7018) at ../../../../bin/schroot-base/schroot-base-run.h:69
| #6 main (argc=1, argv=0x7fffa20f7018) at ../../../../bin/dchroot/dchroot.cc:43
> but it would be useful to see the call site. dchroot uses a null
> authentication handler which doesn't allow user switching. It may
> need a special case to handle root, but this should already be being
> handled by the higher-level session code which skips authentication
> for root (the handler shouldn't be being called in this manner, which
> is why it's unsupported and throwing the exception).
>
BTW, I am still using dchroot because schroot is missing the possibility
to run a command (it only allows an executable and its arguments). Is it
planned to add this feature to schroot?
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien at aurel32.net http://www.aurel32.net
More information about the Buildd-tools-devel
mailing list