Пользователь с типом user_t хочет открывать файл /var/log/dmesg с типом var_log_t. Для этого в файле dmesgread.te создается политика следующего вида:
odule dmesgread 1.0;
require {
type var_log_t;
type user_t;
class file open
class file read
class file getattr;
}
#============= user_t ==============
allow user_t var_log_t:file {open read getattr};
# semodule -i dmesgread.pp
type=AVC msg=audit(1386355300.812:358): avc: denied { open } for pid=9683 comm="cat" name="dmesg" dev=sda2 ino=786454 scontext=user_u:user_r:user_t:s0 tcontext=system_u:object_r:var_log_t:s0 tclass=file
type=SYSCALL msg=audit(1386355300.812:358): arch=40000003 syscall=5 success=no exit=-13 a0=bf99c901 a1=8000 a2=0 a3=1 items=0 ppid=2774 pid=9683 auid=502 uid=502 gid=502 euid=502 suid=502 fsuid=502 egid=502 sgid=502 fsgid=502 tty=tty2 ses=2 comm="cat" exe="/bin/cat" subj=user_u:user_r:user_t:s0 key=(null)