rc.kerberos 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.kerberos -- Run-Commands
  4. ##
  5. %config
  6. kerberos_enable="$openpkg_rc_def"
  7. kerberos_kdc_log="@l_prefix@/var/kerberos/log/krb5kdc.log"
  8. kerberos_kdc_prolog="true"
  9. kerberos_kdc_epilog="true"
  10. kerberos_kdc_numfiles="10"
  11. kerberos_kdc_minsize="1M"
  12. kerberos_kdc_complevel="9"
  13. kerberos_admin_log="@l_prefix@/var/kerberos/log/kadmin.log"
  14. kerberos_admin_prolog="true"
  15. kerberos_admin_epilog="true"
  16. kerberos_admin_numfiles="10"
  17. kerberos_admin_minsize="1M"
  18. kerberos_admin_complevel="9"
  19. kerberos_def_log="@l_prefix@/var/kerberos/log/krb5lib.log"
  20. kerberos_def_prolog="true"
  21. kerberos_def_epilog="true"
  22. kerberos_def_numfiles="10"
  23. kerberos_def_minsize="1M"
  24. kerberos_def_complevel="9"
  25. %common
  26. krb5kdc_pidfile="@l_prefix@/var/kerberos/krb5kdc.pid"
  27. kadmind_pidfile="@l_prefix@/var/kerberos/kadmind.pid"
  28. krb5kdc_signal () {
  29. [ -f $krb5kdc_pidfile ] && kill -$1 `cat $krb5kdc_pidfile`
  30. }
  31. kadmind_signal () {
  32. [ -f $kadmind_pidfile ] && kill -$1 `cat $kadmind_pidfile`
  33. }
  34. %status -u @l_susr@ -o
  35. kerberos_usable="no"
  36. kerberos_active="no"
  37. rcService kerberos enable yes && \
  38. krb5kdc_signal 0 && kadmind_signal 0 && kerberos_active="yes"
  39. echo "kerberos_enable=\"$kerberos_enable\""
  40. echo "kerberos_usable=\"$kerberos_usable\""
  41. echo "kerberos_active=\"$kerberos_active\""
  42. %start -u @l_susr@
  43. rcService kerberos enable yes || exit 0
  44. rcService kerberos active yes && exit 0
  45. @l_prefix@/libexec/kerberos/krb5kdc -n &
  46. echo $! >$krb5kdc_pidfile
  47. @l_prefix@/libexec/kerberos/kadmind -nofork &
  48. echo $! >$kadmind_pidfile
  49. %stop -u @l_susr@
  50. rcService kerberos enable yes || exit 0
  51. rcService kerberos active no && exit 0
  52. krb5kdc_signal TERM
  53. kadmind_signal TERM
  54. rm -f $krb5kdc_pidfile
  55. rm -f $kadmind_pidfile
  56. %restart -u @l_susr@
  57. rcService kerberos enable yes || exit 0
  58. rcService kerberos active no && exit 0
  59. rc kerberos stop
  60. sleep 2
  61. rc kerberos start
  62. %daily -u @l_susr@
  63. rcService kerberos enable yes || exit 0
  64. # rotate logfiles
  65. rcTmp -i
  66. hintfile=`rcTmp -f -n hint`
  67. shtool rotate -f \
  68. -n ${kerberos_kdc_numfiles} -s ${kerberos_kdc_minsize} -d \
  69. -z ${kerberos_kdc_complevel} -o @l_susr@ -g @l_mgrp@ -m 644 \
  70. -P "${kerberos_kdc_prolog}" \
  71. -E "${kerberos_kdc_epilog} && echo 1 >$hintfile" \
  72. ${kerberos_kdc_log}
  73. shtool rotate -f \
  74. -n ${kerberos_admin_numfiles} -s ${kerberos_admin_minsize} -d \
  75. -z ${kerberos_admin_complevel} -o @s_rusr@ -g @m_rgrp@ -m 644 \
  76. -P "${kerberos_admin_prolog}" \
  77. -E "${kerberos_admin_epilog} && echo 1 >$hintfile" \
  78. ${kerberos_admin_log}
  79. shtool rotate -f \
  80. -n ${kerberos_def_numfiles} -s ${kerberos_def_minsize} -d \
  81. -z ${kerberos_def_complevel} -o @l_susr@ -g @l_mgrp@ -m 644 \
  82. -P "${kerberos_def_prolog}" \
  83. -E "${kerberos_def_epilog} && echo 1 >$hintfile" \
  84. ${kerberos_def_log}
  85. if [ -s $hintfile ]; then
  86. rc kerberos restart
  87. fi
  88. rcTmp -k