]> git.pld-linux.org Git - packages/audit.git/blob - auditd.init
- dropped pie bcond (gcc 3.3? really?)
[packages/audit.git] / auditd.init
1 #!/bin/sh
2 #
3 # auditd        This starts and stops auditd
4 #
5 # chkconfig: 2345 18 82
6 # description: This starts the Linux Auditing System Daemon
7 #
8 # processname: auditd
9 # config: /etc/sysconfig/auditd
10 # config: /etc/auditd.conf
11 # pidfile: /var/run/auditd.pid
12
13 PATH=/sbin:/bin:/usr/bin:/usr/sbin
14
15 # Source function library
16 . /etc/rc.d/init.d/functions
17
18 AUDITD_CLEAN_STOP="yes"
19 AUDITD_STOP_DISABLE="yes"
20 EXTRAOPTIONS=
21 AUDIT_RULES=/etc/audit/audit.rules
22
23 # Get service config - may override defaults
24 [ -f /etc/sysconfig/auditd ] && . /etc/sysconfig/auditd
25
26 start() {
27         if [ -f /var/lock/subsys/auditd ]; then
28                 msg_already_running auditd
29                 return
30         fi
31
32         local rc
33         msg_starting auditd
34         # Localization for auditd is controlled in /etc/synconfig/auditd
35         if [ -z "$AUDITD_LANG" -o "$AUDITD_LANG" = "C" -o "$AUDITD_LANG" = "none" -o "$AUDITD_LANG" = "NONE" ]; then
36                 unset LANG LC_TIME LC_ALL LC_MESSAGES LC_NUMERIC LC_MONETARY LC_COLLATE
37         else
38                 LANG="$AUDITD_LANG"
39                 LC_TIME="$AUDITD_LANG"
40                 LC_ALL="$AUDITD_LANG"
41                 LC_MESSAGES="$AUDITD_LANG"
42                 LC_NUMERIC="$AUDITD_LANG"
43                 LC_MONETARY="$AUDITD_LANG"
44                 LC_COLLATE="$AUDITD_LANG"
45                 export LANG LC_TIME LC_ALL LC_MESSAGES LC_NUMERIC LC_MONETARY LC_COLLATE
46         fi
47         unset HOME MAIL USER USERNAME
48         daemon /sbin/auditd "$EXTRAOPTIONS"
49         RETVAL=$?
50         # Load the default rules if daemon started
51         if [ $RETVAL -eq 0 ] && [ -f $AUDIT_RULES ]; then
52                 # Prepare the default rules
53                 if is_yes "$USE_AUGENRULES"; then
54                         /sbin/augenrules
55                 fi
56                 # Load the default rules
57                 /sbin/auditctl -R $AUDIT_RULES >/dev/null
58                 rc=$?
59                 # add error code, if it was an error
60                 [ $rc -ne 0 ] && RETVAL=$rc
61         fi
62         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/auditd
63 }
64
65 stop() {
66         if [ ! -f /var/lock/subsys/auditd ]; then
67                 msg_not_running auditd
68                 return
69         fi
70
71         msg_stopping auditd
72         killproc auditd
73         rm -f /var/lock/subsys/auditd
74         # Remove watches so shutdown works cleanly
75         if ! is_no "$AUDITD_CLEAN_STOP"; then
76                 /sbin/auditctl -D >/dev/null
77         fi
78         if ! is_no "$AUDITD_STOP_DISABLE"; then
79                 /sbin/auditctl -e 0 >/dev/null
80         fi
81 }
82
83 condrestart() {
84         if [ ! -f /var/lock/subsys/auditd ]; then
85                 msg_not_running auditd
86                 RETVAL=$1
87                 return
88         fi
89
90         stop
91         start
92 }
93
94 reload() {
95         if [ ! -f /var/lock/subsys/auditd ]; then
96                 msg_not_running auditd
97                 RETVAL=7
98                 return
99         fi
100
101         msg_reloading auditd
102         killproc auditd -HUP
103         RETVAL=$?
104 }
105
106 RETVAL=0
107 case "$1" in
108   start)
109         start
110         ;;
111   stop)
112         stop
113         ;;
114   restart)
115         stop
116         start
117         ;;
118   try-restart)
119         condrestart 0
120         ;;
121   reload|force-reload)
122         reload
123         ;;
124   status)
125         status auditd
126         RETVAL=$?
127         ;;
128   *)
129         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
130         RETVAL=3
131 esac
132
133 exit $RETVAL
This page took 0.062017 seconds and 3 git commands to generate.