Horde Application Suite and SELinux...

Colin Walters walters at redhat.com
Wed Feb 23 14:49:06 UTC 2005

On Tue, 2005-02-22 at 16:44 -0700, Tom Lisjac wrote:

>I was under the impression that mod_php and the webserver ran in the
>same context... so I'm not sure I understand the distinction SELinux
>would make between the server and the script.

You are correct; mod_php code does run in the same context as Apache
(i.e. httpd_t), because it runs in-process.

>Here's the avc that is generated. Apparently the write did occur and
>this was an attempt by the script to read the spellchecked file back.
>avc:  denied  { getattr } for  pid=32122 exe=/usr/bin/aspell
>path=/tmp/spellkQimNQ dev=hda2 ino=326408
>tcontext=root:object_r:httpd_tmp_t tclass=file

Note however here that the source context is httpd_sys_script_t (not
httpd_t), which means it's a CGI script.  CGI scripts by default run in
a separate context.  

Are you really sure that you don't have an external CGI script being

Perhaps what is happening here is that for some reason, when httpd_t
execs /usr/bin/aspell, a transition is happening to httpd_sys_script_t.
But from looking at the policy, I don't see any transition rules for

>I'm curious why the targeted policy allows the write but blocks reads from /tmp?

Because as best I can tell, the write was done by the main webserver
process, and the read is being attempted by a CGI script.

Consider the case where Apache keeps temporary data files containing
private information in /tmp; in general you don't want CGI scripts to be
able to read that.

>In any case, it appears that I should make the exception and allow the
>read. I made a huge mess when I started hacking the policy sources in
>FC2... is there a document or howto somewhere that describes the
>correct way to add a exception that will survive an rpm policy update?

You should probably upgrade to FC3; a huge amount of work has gone into
the policy (but we still have a lot more to do...).

More information about the fedora-selinux-list mailing list