On Thu, Dec 11, 2008 at 11:40:25AM -0500, Michael DeHaan wrote:
> Anton Arapov wrote:
> > On Wed, Dec 10, 2008 at 01:27:29PM -0500, Michael DeHaan wrote:
> >   
> >> Anton Arapov wrote:
> >>     
> >>> On Wed, Dec 10, 2008 at 06:04:36PM +0100, Vreman, Peter - Acision wrote:
> >>>       
> >>>>> -----Original Message-----
> >>>>> From: [EMAIL PROTECTED] [mailto:cobbler-
> >>>>> [EMAIL PROTECTED] On Behalf Of Michael DeHaan
> >>>>> Sent: woensdag 10 december 2008 17:36
> >>>>> To: Anton Arapov
> >>>>> Cc: [email protected]
> >>>>> Subject: Re: [KOAN 1.2.X PATCH] SELinux: set correct security context 
> >>>>> for
> >>>>> lvm partitions
> >>>>>
> >>>>> Anton Arapov wrote:
> >>>>>           
> >>>>>> Hello crew,
> >>>>>>
> >>>>>> On SELinux enabled system:
> >>>>>> # cobbler system add --name vguest --profile F-10-x86_64 \
> >>>>>>                      --virt-type qemu \
> >>>>>>                      --virt-bridge virbr0 \
> >>>>>>                      --virt-path vg
> >>>>>> # koan --server 'host' --virt --system vguest2
> >>>>>>
> >>>>>>   These will fail to run, because koan did not set the correct 
> >>>>>> security context
> >>>>>> for created lvm partition.
> >>>>>>   It must execute something like:
> >>>>>> # chcon -t virt_image_t /dev/mapper/%lvm_partition%
> >>>>>>
> >>>>>>   Patch addressed to the ticket #321:
> >>>>>>   https://fedorahosted.org/cobbler/ticket/321
> >>>>>>
> >>>>>>   I've added also some concerns, about already implemented in cobbler
> >>>>>> selinux check. So please, read the ticket and leave feedback. :)
> >>>>>>
> >>>>>>             
> > [...cut...]
> >
> >   
> >>>>> Is "/usr/sbin/selinuxenabled" available on older EL distros? Cobbler
> >>>>> contains some code for similar things that uses getenforce. Earlier I
> >>>>> thought this binary didn't exist on my box, but I /do/ have it on F9.
> >>>>>
> >>>>> Otherwise, looks fine, though I think we need to make sure this binary
> >>>>> is available. We should also check to see if it /exists/ first, because
> >>>>> long term we'll want koan to work on non-Fedora/Red-Hat based distros so
> >>>>> we can also package it there.
> >>>>>           
> >>>> The tool is available on RHEL 4.6:
> >>>>         
> >>> Great! So we can go with this patch. :)
> >>>       
> > [...cut...]
> >
> >   
> >> FWIW, this patch does not apply -- possibly it was made against master 
> >> and not the devel branch.
> >>
> >> See https://fedorahosted.org/cobbler/wiki/PatchProcess and use 
> >> git-format-patch in the future and it makes things easier.
> >>
> >> This is trivial so I'll see about applying it manually.
> >>     
> >
> > I figured out that cobbler from git devel branch already uses
> > selinuxenabled util. So I did it in the way it is in cobbler:
> >   
> 
> Only because I copied from your patch yesterday :)
> 
> You should see that koan's devel branch already has your change applied, 
> so I believe we're good.
Aha! ... Didn't notice that we have 'devel' branch in koan's git as
well .... :) I see it now.


> Thanks!
> 
> --Michael
> 
> > ==
> >
> >  koan/app.py   |   14 +++++++++++++-
> >  koan/utils.py |    7 +++++++
> >  2 files changed, 20 insertions(+), 1 deletions(-)
> >
> > diff --git a/koan/app.py b/koan/app.py
> > index f5f982f..879f8ed 100755
> > --- a/koan/app.py
> > +++ b/koan/app.py
> > @@ -1213,8 +1213,20 @@ class Koan:
> >                      if lv_create != 0:
> >                          raise InfoException, "LVM creation failed"
> >  
> > +                # full path to LVM partition
> > +                partition_location = "/dev/mapper/%s-%s" % 
> > (location,name.replace('-','--'))
> > +
> > +                # SELinux enabled system?
> > +                if utils.is_selinux_enabled():
> > +                    # set appropriate security context for LVM partition
> > +                    args = "/usr/bin/chcon -t virt_image_t %s" % 
> > partition_location
> > +                    print "%s" % args
> > +                    change_context = sub_process.call(args, shell=True)
> > +                    if change_context != 0:
> > +                        raise InfoException, "SELinux security context 
> > setting to LVM partition failed"
> > +
> >                  # return partition location
> > -                return "/dev/mapper/%s-%s" % 
> > (location,name.replace('-','--'))
> > +                return partition_location
> >              else:
> >                  raise InfoException, "volume group needs %s GB free 
> > space." % virt_size
> >  
> > diff --git a/koan/utils.py b/koan/utils.py
> > index 36ef75f..cfebce8 100644
> > --- a/koan/utils.py
> > +++ b/koan/utils.py
> > @@ -156,6 +156,13 @@ def subprocess_call(cmd,ignore_rc=False):
> >          raise InfoException, "command failed (%s)" % rc
> >      return rc
> >  
> > +def is_selinux_enabled():
> > +    args = "/usr/sbin/selinuxenabled"
> > +    selinuxenabled = sub_process.call(args)
> > +    if selinuxenabled == 0:
> > +        return True
> > +    else:
> > +        return False
> >  
> >  def input_string_or_hash(options,delim=None):
> >      """
> >
> > _______________________________________________
> > cobbler mailing list
> > [email protected]
> > https://fedorahosted.org/mailman/listinfo/cobbler
> >   
> 
> _______________________________________________
> cobbler mailing list
> [email protected]
> https://fedorahosted.org/mailman/listinfo/cobbler

-- 
-Anton

_______________________________________________
cobbler mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/cobbler

Reply via email to