Re: run_init messes up terminal settings

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

 



On Mon, 2017-06-26 at 15:26 +0200, Dominick Grift wrote:
> On Mon, Jun 26, 2017 at 09:08:16AM -0400, Stephen Smalley wrote:
> > On Sat, 2017-06-24 at 12:20 +0200, Laurent Bigonville wrote:
> > > Hello,
> > > Russell opened the following bug regarding run_init in the debian
> > > bts:
> > > ====
> > > [...]
> > > It turns out that the problem was not running $(arch), but
> > > running
> > > run_init in 
> > > the shell it spawned.  Below is an example of reproducing this,
> > > the
> > > first time 
> > > run_init performs as expected.  The second time is fails without
> > > me
> > > even 
> > > typing a password or pressing ENTER.  The result is the same with
> > > any
> > > command, 
> > > but ls is just a good example.  This happens no matter what shell
> > > is
> > > spawned 
> > > (whether it's ssh, su, or just an Xterm), run_init seems
> > > generally
> > > broken with 
> > > the 4.9.0-2-amd64/4.9.13-1 kernel at least.
> > > 
> > > NB I can't rule out the possibility of a kernel bug at this
> > > stage.  But at 
> > > this time it seems best to assume it's a run_init bug until
> > > proven
> > > otherwise.
> > > 
> > > Sorry for the inconvenience Andreas.
> > > 
> > > # run_init ls /boot
> > > Authenticating root.
> > > Password: 
> > > config-4.9.0-2-amd64      lost+found                System.map-
> > > 4.9.0-
> > > 3-amd64
> > > config-4.9.0-3-amd64      memtest86+.bin            vmlinuz-
> > > 4.9.0-2-
> > > amd64
> > > grub                      memtest86+_multiboot.bin  vmlinuz-
> > > 4.9.0-3-
> > > amd64
> > > initrd.img-4.9.0-2-amd64  real
> > > initrd.img-4.9.0-3-amd64  System.map-4.9.0-2-amd64
> > > # run_init ls /boot
> > > Authenticating root.
> > > Password: 
> > > run_init: incorrect password for root
> > > authentication failed.
> > > # 
> > > ====
> > > I can reproduce this with 2.7-rc3, run_init is compiled with pam
> > > and
> > > audit support.
> > > An idea what could happen here?
> > > Regards,
> > > Laurent Bigonville
> > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863187
> > 
> > I don't think this could have ever worked under run_init since
> > open_init_pty was introduced (originally from Debian); note that
> > open_init_pty does alter terminal settings.
> > 
> > I don't quite follow the example given above.  It shows executing
> > run_init twice with ls /boot as the arguments, which is not running
> > run_init within run_init.  That works fine for me.
> > 
> > If I try something like:
> > run_init run_init ls /boot
> > which actually runs run_init within run_init, then that also works
> > for
> > me without problem.
> > 
> > If I try something like:
> > run_init /bin/bash
> > then I lose any echoing of input characters to the shell (due to
> > open_init_pty turning it off), but I can enter commands and execute
> > them, or run stty sane to regain echoing.  But I don't think that
> > has
> > ever been supported since the introduction of open_init_pty in 2005
> > (policycoreutils 1.21.2).  What's the use case for it?
> > 
> > Side bar: run_init (and open_init_pty) are no longer packaged by
> > Fedora
> > since systemd renders it unnecessary, and even prior to that,
> > Fedora
> > policy enabled DIRECT_INITRC=y in build.conf, and therefore
> > run_init
> 
> Correct me if i am wrong but fedora has DIRECT_INITRC=n AFAICT
> 
> https://src.fedoraproject.org/cgit/rpms/selinux-policy.git/tree/selin
> ux-policy.spec#n173
> https://src.fedoraproject.org/cgit/rpms/selinux-policy.git/tree/selin
> ux-policy.spec#n393
> 
> I vaguely recall that in a strict environment one still might need
> run_init for the `update aliases` functionality in redhar-based
> distributions.. i might be wrong though

run_init is no longer packaged in Fedora at all (see
policycoreutils.spec, which removes it during %install so that it will
not be packaged).  Looking at the ChangeLog, this happened in 2012:
* Mon Nov 5 2012 Dan Walsh <dwalsh@xxxxxxxxxx> - 2.1.12-25
- Remove run_init, no longer needed with systemd.

Thus, DIRECT_INITRC=y is no longer required either, for the same reason
(obsoleted by systemd).  Prior to that change, Fedora built with
DIRECT_INITRC=y for -targeted policy; only -mls and -strict built with
DIRECT_INITRC=n and needed run_init.

> 
> > wasn't required for typical operation (maybe under -mls policy it
> > was
> > still needed, not sure). Possibly we should move run_init out of
> > policycoreutils into its own subdirectory in the selinux userspace
> > tree
> > to reflect this transition and start deprecating it.
> > 
> 
> 



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux