selinux hasn't been running for over a week
Daniel J Walsh
dwalsh at redhat.com
Fri Sep 18 14:15:44 UTC 2009
On 09/18/2009 10:01 AM, Steve Grubb wrote:
> On Friday 18 September 2009 09:54:12 am Daniel J Walsh wrote:
>>>> If the kernel has SELinux and it is not in permissive mode, it should
>>>> execute load_policy
>>
>> Yes in permissive mode load_policy will return 2 if it can not load policy.
>> I guess dracut should also look in /etc/selinux/config to see if the
>> SELINUX environment variable is not set to enforcing.
>
> What about interaction with the kernel command line? What the kernel was given
> is listed in /proc/cmdline. iow, if I boot with selinux=0 and the config says
> enabled, shouldn't the kernel command line take priority?
>
>
Yes kernel command line wins.
Second is /etc/selinux/config (SELINUX) line
Execute the kernel command line to initialize the
selinux and enforcing environment variables. cmdline options are (selinux=0 to disable SELinux) (enforcing=0 to put selinux in permissive mode)
then dracut should execute
. /etc/selinux/config
if [ "$selinux" != 0 && "$enforcing" != 0 && "$SELINUX" == "enforcing" ]; then
load_policy
if $? != 0; ReportError() && blow up
elif [ ""$selinux" != 0 && ("$enforcing" == 0 || $SELINUX" == "permissive") ]; then
load_policy
if $? != 0; ReportError()
# Continue no matter what
elif [ "$selinux == 0" || "$enforcing" == 0 || "$SELINUX" == "disabled" ]; then
# Continue no matter what, although it would nice to tell the kernel to drop SELinux support
elif
Report_error()
Blow Up
endif
>>> You mean if the machine is in permissive mode, it should load_policy, but
>>> not crash. But it should log the reason so it can be debugged.
>>>
>>>> Load_policy will exit with 0 on success or 2 on failure and SELinux in
>>>> permissive mode.
>>>
>>> And if chroot fails, we need to handle it.
>>
>> This will probably crash anyways
>
> In the code I looked at, only if it returned 3...
>
> -Steve
More information about the fedora-devel-list
mailing list