dirsrv.if 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. ## <summary>policy for dirsrv</summary>
  2. ########################################
  3. ## <summary>
  4. ## Execute a domain transition to run dirsrv.
  5. ## </summary>
  6. ## <param name="domain">
  7. ## <summary>
  8. ## Domain allowed to transition.
  9. ## </summary>
  10. ## </param>
  11. #
  12. interface(`dirsrv_domtrans',`
  13. gen_require(`
  14. type dirsrv_t, dirsrv_exec_t;
  15. ')
  16. domain_auto_trans($1,dirsrv_exec_t,dirsrv_t)
  17. allow dirsrv_t $1:fd use;
  18. allow dirsrv_t $1:fifo_file rw_file_perms;
  19. allow dirsrv_t $1:process sigchld;
  20. ')
  21. ########################################
  22. ## <summary>
  23. ## Allow caller to signal dirsrv.
  24. ## </summary>
  25. ## <param name="domain">
  26. ## <summary>
  27. ## Domain allowed access.
  28. ## </summary>
  29. ## </param>
  30. #
  31. interface(`dirsrv_signal',`
  32. gen_require(`
  33. type dirsrv_t;
  34. ')
  35. allow $1 dirsrv_t:process signal;
  36. ')
  37. ########################################
  38. ## <summary>
  39. ## Send a null signal to dirsrv.
  40. ## </summary>
  41. ## <param name="domain">
  42. ## <summary>
  43. ## Domain allowed access.
  44. ## </summary>
  45. ## </param>
  46. #
  47. interface(`dirsrv_signull',`
  48. gen_require(`
  49. type dirsrv_t;
  50. ')
  51. allow $1 dirsrv_t:process signull;
  52. ')
  53. #######################################
  54. ## <summary>
  55. ## Allow a domain to manage dirsrv logs.
  56. ## </summary>
  57. ## <param name="domain">
  58. ## <summary>
  59. ## Domain allowed access.
  60. ## </summary>
  61. ## </param>
  62. #
  63. interface(`dirsrv_manage_log',`
  64. gen_require(`
  65. type dirsrv_var_log_t;
  66. ')
  67. allow $1 dirsrv_var_log_t:dir manage_dir_perms;
  68. allow $1 dirsrv_var_log_t:file manage_file_perms;
  69. allow $1 dirsrv_var_log_t:fifo_file manage_fifo_file_perms;
  70. ')
  71. #######################################
  72. ## <summary>
  73. ## Allow a domain to manage dirsrv /var/lib files.
  74. ## </summary>
  75. ## <param name="domain">
  76. ## <summary>
  77. ## Domain allowed access.
  78. ## </summary>
  79. ## </param>
  80. #
  81. interface(`dirsrv_manage_var_lib',`
  82. gen_require(`
  83. type dirsrv_var_lib_t;
  84. ')
  85. allow $1 dirsrv_var_lib_t:dir manage_dir_perms;
  86. allow $1 dirsrv_var_lib_t:file manage_file_perms;
  87. ')
  88. #######################################
  89. ## <summary>
  90. ## Allow a domain to manage dirsrv /var/run files.
  91. ## </summary>
  92. ## <param name="domain">
  93. ## <summary>
  94. ## Domain allowed access.
  95. ## </summary>
  96. ## </param>
  97. #
  98. interface(`dirsrv_manage_var_run',`
  99. gen_require(`
  100. type dirsrv_var_run_t;
  101. ')
  102. allow $1 dirsrv_var_run_t:dir manage_dir_perms;
  103. allow $1 dirsrv_var_run_t:file manage_file_perms;
  104. allow $1 dirsrv_var_run_t:sock_file manage_file_perms;
  105. # Allow creating a dir in /var/run with this type
  106. files_pid_filetrans($1, dirsrv_var_run_t, dir)
  107. ')
  108. #######################################
  109. ## <summary>
  110. ## Allow a domain to read dirsrv /var/run files.
  111. ## </summary>
  112. ## <param name="domain">
  113. ## <summary>
  114. ## Domain allowed access.
  115. ## </summary>
  116. ## </param>
  117. #
  118. interface(`dirsrv_read_var_run',`
  119. gen_require(`
  120. type dirsrv_var_run_t;
  121. ')
  122. allow $1 dirsrv_var_run_t:dir list_dir_perms;
  123. allow $1 dirsrv_var_run_t:file read_file_perms;
  124. ')
  125. ########################################
  126. ## <summary>
  127. ## Manage dirsrv configuration files.
  128. ## </summary>
  129. ## <param name="domain">
  130. ## <summary>
  131. ## Domain allowed access.
  132. ## </summary>
  133. ## </param>
  134. #
  135. interface(`dirsrv_manage_config',`
  136. gen_require(`
  137. type dirsrv_config_t;
  138. ')
  139. allow $1 dirsrv_config_t:dir manage_dir_perms;
  140. allow $1 dirsrv_config_t:file manage_file_perms;
  141. ')
  142. ########################################
  143. ## <summary>
  144. ## Read and exec dirsrv lib files.
  145. ## </summary>
  146. ## <param name="domain">
  147. ## <summary>
  148. ## Domain allowed access.
  149. ## </summary>
  150. ## </param>
  151. #
  152. interface(`dirsrv_exec_lib',`
  153. gen_require(`
  154. type dirsrv_lib_t;
  155. ')
  156. allow $1 dirsrv_lib_t:dir search_dir_perms;
  157. allow $1 dirsrv_lib_t:file exec_file_perms;
  158. # Not all platforms include ioctl in exec_file_perms
  159. allow $1 dirsrv_lib_t:file ioctl;
  160. ')
  161. ########################################
  162. ## <summary>
  163. ## Read dirsrv share files.
  164. ## </summary>
  165. ## <param name="domain">
  166. ## <summary>
  167. ## Domain allowed access.
  168. ## </summary>
  169. ## </param>
  170. #
  171. interface(`dirsrv_read_share',`
  172. gen_require(`
  173. type dirsrv_share_t;
  174. ')
  175. allow $1 dirsrv_share_t:dir list_dir_perms;
  176. allow $1 dirsrv_share_t:file read_file_perms;
  177. allow $1 dirsrv_share_t:lnk_file read;
  178. ')