The following was filed automatically by setroubleshoot: Summary: SELinux is preventing /usr/bin/kdm "execute" access on /sbin/grub. Detailed Description: [SELinux is in permissive mode. This access was not denied.] SELinux denied access requested by kdm. It is not expected that this access is required by kdm and this access may signal an intrusion attempt. It is also possible that the specific version or configuration of the application is causing it to require additional access. Allowing Access: You can generate a local policy module to allow this access - see FAQ (http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385) Please file a bug report. Additional Information: Source Context system_u:system_r:xdm_t:s0-s0:c0.c1023 Target Context system_u:object_r:bootloader_exec_t:s0 Target Objects /sbin/grub [ file ] Source kdm Source Path /usr/bin/kdm Port <Unknown> Host (removed) Source RPM Packages kdm-4.3.1-3.fc12 Target RPM Packages grub-0.97-59.fc12 Policy RPM selinux-policy-3.6.31-3.fc12 Selinux Enabled True Policy Type targeted MLS Enabled True Enforcing Mode Permissive Plugin Name catchall Host Name (removed) Platform Linux (removed) 2.6.31-2.fc12.x86_64 #1 SMP Thu Sep 10 00:25:40 EDT 2009 x86_64 x86_64 Alert Count 1 First Seen Sun 13 Sep 2009 11:56:03 AM PDT Last Seen Sun 13 Sep 2009 11:56:03 AM PDT Local ID b6539807-ab99-4c2d-b396-68ff8af92bd8 Line Numbers Raw Audit Messages node=(removed) type=AVC msg=audit(1252868163.210:55): avc: denied { execute } for pid=1507 comm="kdm" name="grub" dev=dm-2 ino=40515 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:bootloader_exec_t:s0 tclass=file node=(removed) type=SYSCALL msg=audit(1252868163.210:55): arch=c000003e syscall=21 success=yes exit=0 a0=7fff04c32506 a1=1 a2=0 a3=7fff04c31290 items=0 ppid=1 pid=1507 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="kdm" exe="/usr/bin/kdm" subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 key=(null) audit2allow suggests: #============= xdm_t ============== allow xdm_t bootloader_exec_t:file execute;
This, and two additional messages are generated, I believe, because KDE/KDM has a feature in the "Reboot" selection when quitting to, after specifying the boot loader, select the OS into which to reboot. Implementation of this feature require that KDE (or KDM) read and parse the boot configuration file and, when a reboot target is selected, that the process modify the boot loader. If this supposition is correct, the SELinux policy will need to permit (I'd guess) KDM rw access to both the GRUB and LILO boot configuration files. This may, of course, be an unacceptable security risk, in which case I suppose that the "reboot target selection" feature should be disabled when SELinux in in "Enforcing" mode.
Just because an app allows a Dumb idea, and a potential security flaw does not mean that SELinux has to allow it. If you want to allow the login program to manipulate the /etc/grub file, then you need to add custom policy to allow this. I will not support it.
That's what I thought too. Could/Should this "bug" be moved to the KDM/KDE people? Since (I believe) KDM will access this "feature" whenever a user selects the "Reboot" option in the "Leave" pop-up, you're going to get a lot of "access denied" reports cluttering up your in-box when F12 goes live, and disgruntled people telling everyone the SELinux is not worth the trouble. It should be fairly trivial for them to change the KDE "Leave" pop-up application to disable the "Select reboot target" feature when SELinux is active. (They could even ask the user if they really want to use the feature, and warn them of the consequences of so doing.)
I would prefer to remove the feature altogether.
patches welcome, otherwise users are still welcome to continue to modify/customize kdm to use this feature as well as create custom/local policy to allow it.
Hey, I use that line all the time. :^)
We aren't going to remove upstream features. We disable it by default, that's as far as we're willing to go.
Oh, and FYI: > Since (I believe) KDM will access this "feature" whenever a user selects the > "Reboot" option in the "Leave" pop-up No, it will not, as the default configuration is "no bootloader" (i.e. no bootloader integration). Only if you enable GRUB integration manually in System Settings, you'll trigger the SELinux denial.
Sounds ok to me. If you Change the default settings of an application sometimes you have to adjust the SELinux, which can be done by creating a selinux module.