/usr/sbin/pdns_server -- gen_context(system_u:object_r:named_exec_t,s0)
-/etc/pdns/pdns\.conf -- gen_context(system_u:object_r:named_conf_t,s0)
+/etc/pdns(/.*)? -- gen_context(system_u:object_r:named_conf_t,s0)
+/etc/pdns(/.*)? -d gen_context(system_u:object_r:named_conf_t,s0)
/var/run/pdns\.controlsocket -s gen_context(system_u:object_r:named_var_run_t,s0)
/var/run/pdns\.pid -- gen_context(system_u:object_r:named_var_run_t,s0)
-/usr/bin/pdns_control -- gen_context(system_u:object_r:ndc_exec_t,s0)
-/usr/bin/pdnssec -- gen_context(system_u:object_r:ndc_exec_t,s0)
+/usr/bin/pdns_control -- gen_context(system_u:object_r:ndc_exec_t,s0)
+/usr/bin/pdnssec -- gen_context(system_u:object_r:ndc_exec_t,s0)
+/var/cache/pdns(/.*)? -- gen_context(system_u:object_r:named_cache_t,s0)
+/var/cache/pdns(/.*)? -d gen_context(system_u:object_r:named_cache_t,s0)
-policy_module(pdns,0.9.0)
+policy_module(pdns,0.9.5)
require{
- type named_t;
+ type named_t;
+ type named_cache_t;
+ type named_conf_t;
+ type named_var_run_t;
+ type ndc_t;
+ type tmp_t;
+ class file { getattr unlink append read setattr write lock create rename link open };
+ class sock_file { create read write unlink setattr getattr };
+ class dir { add_name write read remove_name };
}
#only needed if using the guardian
#postgres backend:
postgresql_stream_connect(named_t)
+
+#bind backend:
+allow named_t named_cache_t:file { getattr unlink append read setattr write lock create rename link open };
+allow named_t named_cache_t:dir { add_name write read remove_name };
+allow named_t named_conf_t:file { read open };
+allow named_t named_var_run_t:file { getattr unlink append read setattr write lock create rename link open };
+
+# other stuff
+allow named_t var_run_t:sock_file { create read write unlink setattr getattr };
+allow ndc_t tmp_t:sock_file { create read write unlink setattr getattr };
+allow ndc_t tmp_t:file {getattr unlink append read setattr write lock create rename link open };
+allow ndc_t tmp_t:dir { add_name write read remove_name };
+allow ndc_t var_run_t:sock_file { create read write unlink };
+allow ndc_t named_conf_t:file { read open };