help adding a type attribute to a domain

Maria Iano maria at iano.org
Fri Mar 11 17:25:59 UTC 2011


On Mar 11, 2011, at 12:12 PM, Dominick Grift wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 03/11/2011 06:10 PM, Dominick Grift wrote:
>> On 03/11/2011 06:04 PM, Maria Iano wrote:
>>
>>> On Mar 11, 2011, at 11:48 AM, Dominick Grift wrote:
>>
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> On 03/11/2011 05:42 PM, Daniel J Walsh wrote:
>>>>> On 03/11/2011 10:57 AM, Maria Iano wrote:
>>>>>> I'm getting a denial that audit2why says is due to constraints.
>>>>>> Sesearch does show that the action has an allow rule.
>>>>>
>>>>>> Here are the audit messages:
>>>>>
>>>>>> host=eng-vocngcn03.eng.gci type=AVC
>>>>>> msg=audit(1299844473.770:740848):
>>>>>> avc:  denied  { sigkill } for  pid=22927 comm="kill"
>>>>>> scontext=system_u:system_r:rgmanager_t:s0
>>>>>> tcontext=system_u:system_r:unconfined_t:s0-s0:c0.c1023
>>>>>> tclass=process
>>>>>
>>>>>> host=eng-vocngcn03.eng.gci type=SYSCALL
>>>>>> msg=audit(1299844473.770:740848): arch=c000003e syscall=62
>>>>>> success=yes
>>>>>> exit=0 a0=19ba a1=9 a2=9 a3=0 items=0 ppid=20173 pid=22927
>>>>>> auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0
>>>>>> fsgid=0 tty=(none) ses=4294967295 comm="kill" exe="/bin/kill"
>>>>>> subj=system_u:system_r:rgmanager_t:s0 key=(null)
>>>>>
>>>>> You have rgmanager sending a kill signal to a process running as
>>>>> unconfined_t
>>>>
>>>> There is no proof that its rgmanager doing that imho. Since
>>>> rgmanager_t
>>>> is an unconfined_domain it could be any generic application started
>>>> by a
>>>> process running in the rgmanager_t domain (eventually started by
>>>> rgmanager)
>>>>
>>
>>> We have red hat clustering running on the server, and the clustering
>>> processes are running as rgmanager_t. When we move a service off the
>>> server to another node, the clustering software calls a vendor  
>>> script
>>> like the red hat init.d scripts, with the stop command. That vendor
>>> script calls another script which is a stop script. That stop  
>>> scripts
>>> if full of kill commands - that match all running processes against
>>> various expressions and kill them.
>>
>>> We do have a custom policy with a bunch of allow rules but none of
>>> them allow a domain transition.
>>
>> Yes i think i have a reasonable good idea now of what is going on.  
>> The
>> easiest solution to the constraint issue would probably be to run
>> rgmanager_t on s0 - mcs_systemhigh.
>>
>> policy_module(myrgmanager, 1.0.0)
>>
>> gen_require(`
>> type rgmanager_t, rgmanager_exec_t;
>> ')
>>
>> init_ranged_daemon_domain(rgmanager_t, rgmanager_exec_t, s0 -
>> mcs_systemhigh)
>>
>> make -f /usr/share/selinux/devel/Makefile myrgmanager.pp
>> sudo semodule -i myrgmanager.pp
>>
>> (may or may not fix the mcs constraint issues)
>>
>
> You would need to restart rgmanager and verify (ps auxZ | grep
> rgmanager) that it runs on s0-s0:c0.c1023 instead of s0.
>

When I run ps auxZ and grep for rgmanager I get 424 processes listed  
but rgmanager_t only occurs on the left as the context and not in the  
name of a process. Also none of them give me the s0 info. I've noticed  
that generally seems to be hidden on my system. Here's the output of  
one of them:

system_u:system_r:rgmanager_t   root     29683  0.0  0.0  23544   
5136 ?        S<Ls Mar09   0:00 clurgmgrd




More information about the selinux mailing list