Re: [HEADS-UP] systemd for F14 - the next steps

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

 



On 07/14/2010 05:02 PM, Jeffrey Ollie wrote:
> On Wed, Jul 14, 2010 at 2:13 PM, Lennart Poettering
> <mzerqung@xxxxxxxxxxx> wrote:
>> On Wed, 14.07.10 14:07, Jeffrey Ollie (jeff@xxxxxxxxxx) wrote:
>>
>>>
>>> I've been trying to test systemd on my dev box but without success so
>>> far.  My system boots up and I get the usual GDM login screen and VTs
>>> but I can't login.  SSH fails as well.  SSH gives me "Unable to get
>>> valid context for jcollie" shows me the last login date and closes the
>>> connection.  I think I'm seeing a similar message on the console but
>>> it flashes too quickly for me to be sure.
>>
>> Hmm, this smells a bit like policy problem. Could you try selinux=0 on
>> the kernel cmdline to figure out if that makes things work?
>>
>> And please file a bug against systemd which I'll then reassign to
>> selinux should this really be the problem.
> 
> It looks like Bill Nottingham beat me to filing a bug:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=614574
> 
> but at least with selinux in permissive mode I now have my rawhide
> system booting up with systemd.
> 


I thought I had checked it in, but I was leaving on Vacation and dropped
the ball.

Fixed in selinux-policy-3.8.7-1.fc14.noarch

chcon -t init_exec_t /bin/systemd

Will also fix it so you can boot in enforcing mode.  I am changing my
laptop to boot full time systemd to see what other gotchas.

The biggest SELinux problem will be as we go to systemd impersonating
other services.  For example, if systemd was going to start mysql by
listening on /var/run/mysql.socket.  SELinux would expect the
/var/run/mysql.socket to be labeled mysqld_var_run_t.  Currently if
systemd creates this socket it would be labeled init_var_run_t.
Secondly if httpd tried to connect to this socket,  SELinux enforces the
rule that
httpd_t can read/write a sock_file labeled mysqld_var_run_t and
connectto services labeled mysqld_t.

SELinux will deny httpd_t read/write sock_files labeled init_var_run_t
and will not allow it to connectto processes labeled init_t.

The best solution to this would be to get sysstemd process that is
creating the sock_file and listening to impersonate mysqld_t.

fork()
setexec("system_u:system_r:mysqld_t:s0")
create_sock_file()
listen()
accept()
exec mysqld

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux