I'm not sure if there is a regular selinux mailing list or not, I mainly use Fedora but thought someone here might be able to help.<br><br>I'm playing with selinux on Debian Testing and decided to try and write a policy from following the fc5 faq
<br><br><a href="http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385">http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385</a><br><br><br>Here is what I have done:<br><br>comatose:~# sestatus<br>SELinux status:                 enabled
<br>SELinuxfs mount:                /selinux<br>Current mode:                   permissive<br>Mode from config file:          permissive<br>Policy version:                 21<br>Policy from config file:        refpolicy-targeted
<br><br>comatose:~# audit2allow -m local -l -i /var/log/audit/audit.log > local.te<br>comatose:~# checkmodule -M -m -o local.mod local.te<br>checkmodule:  loading policy configuration from local.te<br>checkmodule:  policy configuration loaded
<br>checkmodule:  writing binary representation (version 6) to local.mod<br>comatose:~# semodule_package -o local.pp -m local.mod<br>comatose:~# semodule -i local.pp<br>libsepol.check_assertion_helper: assertion on line 0 violated by allow hald_t memory_device_t:chr_file { read };
<br>libsepol.check_assertions: 1 assertion violations occured<br>libsemanage.semanage_expand_sandbox: Expand module failed<br>semodule:  Failed!<br><br><br><br>comatose:~# cat local.te<br><br>module local 1.0;<br><br>require {
<br>        type unconfined_t;<br>        type lib_t;<br>        type xserver_log_t;<br>        type mount_t;<br>        type var_run_t;<br>        type syslogd_t;<br>        type etc_runtime_t;<br>        type initrc_t;<br>
        type xdm_t;<br>        type udev_t;<br>        type device_t;<br>        type hald_t;<br>        type xdm_xserver_t;<br>        type memory_device_t;<br>        type insmod_t;<br>        type dhcpc_t;<br>        type var_t;
<br>        type etc_t;<br>        type security_t;<br>        class fifo_file write;<br>        class process { execstack execmem signal };<br>        class unix_stream_socket { read write };<br>        class chr_file read;
<br>        class fd use;<br>        class file { write rename getattr append read create unlink execute_no_trans };<br>        class filesystem getattr;<br>        class dir { write remove_name create add_name rmdir };<br>
}<br><br>#============= dhcpc_t ==============<br>allow dhcpc_t etc_runtime_t:file unlink;<br><br>#============= hald_t ==============<br>allow hald_t memory_device_t:chr_file read;<br>allow hald_t var_t:file { read getattr };
<br><br>#============= insmod_t ==============<br>allow insmod_t xdm_t:fd use;<br>allow insmod_t xdm_xserver_t:unix_stream_socket { read write };<br>allow insmod_t xserver_log_t:file write;<br><br>#============= mount_t ==============
<br>allow mount_t security_t:filesystem getattr;<br><br>#============= syslogd_t ==============<br>allow syslogd_t device_t:fifo_file write;<br><br>#============= udev_t ==============<br>allow udev_t etc_t:dir { write remove_name add_name };
<br>allow udev_t etc_t:file { write rename create unlink append };<br>allow udev_t initrc_t:process signal;<br>allow udev_t lib_t:file execute_no_trans;<br>allow udev_t var_run_t:dir { create rmdir };<br><br>#============= unconfined_t ==============
<br>allow unconfined_t self:process { execstack execmem };<br><br>