blob: 385785e02b6cba8a6653e12ac4fc1689bca81fbe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
#!/bin/sh
#
#
# chkconfig: - 12 88
# description: Provides a set of daemons to manage access to remote directories
# and authentication mechanisms. It provides an NSS and PAM
# interface toward the system and a pluggable backend system to
# connect to multiple different account sources. It is also the
# basis to provide client auditing and policy services for projects
# like FreeIPA.
#
### BEGIN INIT INFO
# Provides: sssd
# Required-Start: $remote_fs $time
# Should-Start: $syslog
# Should-Stop: $null
# Required-Stop: $null
# Default-Stop: 0 1 6
# Short-Description: System Security Services Daemon
# Description: Provides a set of daemons to manage access to remote directories
# and authentication mechanisms. It provides an NSS and PAM
# interface toward the system and a pluggable backend system to
# connect to multiple different account sources. It is also the
# basis to provide client auditing and policy services for projects
# like FreeIPA.
### END INIT INFO
RETVAL=0
prog="sssd"
# Source function library.
. /etc/init.d/functions
if [ -f @environment_file@ ]; then
. @environment_file@
fi
SSSD=@sbindir@/sssd
LOCK_FILE=@localstatedir@/lock/subsys/sssd
PID_FILE=@localstatedir@/run/sssd.pid
TIMEOUT=15
start() {
[ -x $SSSD ] || exit 5
echo -n $"Starting $prog: "
daemon $SSSD -f -D
RETVAL=$?
echo
[ "$RETVAL" = 0 ] && touch $LOCK_FILE
# Wait for pidfile creation or timeout
sec=0
[ "$RETVAL" = 0 ] && while [ $sec -lt $TIMEOUT -a ! -f $PID_FILE ]
do
sleep 1
sec=$(($sec+1))
done
if [ "$sec" = "$TIMEOUT" ]; then
RETVAL=-1
fi
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
pid=`cat $PID_FILE`
killproc -p $PID_FILE $SSSD -TERM
RETVAL=$?
# Wait until the monitor exits
while (checkpid $pid)
do
usleep 100000
done
echo
[ "$RETVAL" = 0 ] && rm -f $LOCK_FILE
return $RETVAL
}
reload() {
echo -n $"Reloading $prog: "
killproc $SSSD -HUP
RETVAL=$?
echo
return $RETVAL
}
restart() {
stop
start
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
|