I've just started learning to configure SELINUX and this morning on my CentOS 6.4 x64 system, with postfix/dovecot/mysql installed, I woke up to the following selinux issue

found 1 alerts in /var/log/audit/audit.log

SELinux is preventing /usr/libexec/dovecot/lmtp from write access on the directory sieve.

*****  Plugin catchall (100. confidence) suggests    ***************************

If you believe that lmtp should be allowed write access on the sieve directory by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
allow this access for now by executing:
# grep lmtp /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp
# semodule -i mypol.pp

When I run

grep lmtp /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp

I get

module dovecot 1.0;
require {
        type dovecot_etc_t;
        type dovecot_t;
        class dir write;
#============= dovecot_t ==============
allow dovecot_t dovecot_etc_t:dir write;

and then when I run

semodule -i mypol.pp

I get

libsepol.print_missing_requirements: dovecot's global requirements were not
met: type/attribute dovecot_etc_t (No such file or directory).
libsemanage.semanage_link_sandbox: Link packages failed (No such file or directory).
semodule:  Failed!

This has worked for me in the past but it's stumped me this time :s. Can anyone push me in the right direction, please?


Looks like dovecot policy is not loaded, load it in order to have the required module. If that does not help, make sure your kernel you are running is on par with the latest updated (e.g. reboot) and also update selinux-policy to the latest version and make sure it was loaded successfully.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.