]> git.pld-linux.org Git - packages/pure-ftpd.git/blame_incremental - pure-ftpd.init
- authd needs group write, too
[packages/pure-ftpd.git] / pure-ftpd.init
... / ...
CommitLineData
1#!/bin/sh
2#
3# pureftpd PureFTPD server
4#
5# chkconfig: 345 85 15
6# description: PureFTPD is fast, production-quality, standard-conformant FTP server
7#
8
9# Source function library
10. /etc/rc.d/init.d/functions
11
12# Get network config
13. /etc/sysconfig/network
14
15PURE_FTPD_CONF=/etc/ftpd/pureftpd.conf
16[ -f /etc/pure-ftpd/conf/pureftpd.conf ] && PURE_FTPD_CONF=/etc/pure-ftpd/conf/pureftpd.conf
17
18PURE_AUTH_SCRIPT=/etc/pure-ftpd/authd/auth.script
19PURE_AUTH_SOCKET=/var/run/pure-authd/socket
20PURE_CERT_SCRIPT=/etc/pure-ftpd/certd/cert.script
21PURE_CERT_SOCKET=/var/run/pure-certd/socket
22
23# Get service config
24[ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
25
26# Check that networking is up.
27if is_yes "${NETWORKING}"; then
28 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
29 msg_network_down pure-ftpd
30 exit 1
31 fi
32else
33 exit 0
34fi
35
36start() {
37 # Check if the service is already running?
38 if [ ! -f /var/lock/subsys/pure-ftpd ]; then
39 RETVAL=0
40 if [ -x "$PURE_AUTH_SCRIPT" ]; then
41 PURE_AUTH=yes
42 msg_starting pure-authd
43
44 # 326/326 - authd/authd
45
46 mkdir -p /var/run/pure-authd
47 chown ftpauth:root /var/run/pure-authd
48 chmod 770 /var/run/pure-authd
49
50 daemon /usr/sbin/pure-authd --uid 326 --gid 326 --pid /var/run/pure-authd.pid \
51 --run "$PURE_AUTH_SCRIPT" --socket "$PURE_AUTH_SOCKET" --daemonize
52 RETVAL=$?
53 fi
54 if [ $RETVAL -eq 0 -a -x "$PURE_CERT_SCRIPT" ]; then
55 PURE_CERT=yes
56 msg_starting pure-certd
57
58 # 335/335 - certd/certd
59
60 mkdir -p /var/run/pure-certd
61 chown ftpcert:root /var/run/pure-certd
62 chmod 750 /var/run/pure-certd
63
64 daemon /usr/sbin/pure-certd --uid 335 --gid 335 --pid /var/run/pure-certd.pid \
65 --run "$PURE_CERT_SCRIPT" --socket "$PURE_CERT_SOCKET" --daemonize
66 RETVAL=$?
67 fi
68 if [ $RETVAL -eq 0 ]; then
69 msg_starting pure-ftpd
70 rm -f /var/run/pure-ftpd/client*
71 modprobe -s capability > /dev/null 2>&1
72 daemon /usr/sbin/pure-ftpd ${PURE_FTPD_CONF} \
73 $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
74 $([ "$PURE_CERT" = "yes" ] && echo "--extcert=$PURE_CERT_SOCKET") \
75 --daemonize
76 RETVAL=$?
77
78 if [ -n "$UPLOADSCRIPT" ]; then
79 msg_starting pure-uploadscript
80 UPLOADSCRIPTOPTS="-B -r $UPLOADSCRIPT"
81 [ -n "$UPLOADSCRIPT_UID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -u $UPLOADSCRIPT_UID"
82 [ -n "$UPLOADSCRIPT_GID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -g $UPLOADSCRIPT_GID"
83 daemon /usr/sbin/pure-uploadscript $UPLOADSCRIPTOPTS
84 RETVAL=$(($RETVAL+$?))
85 fi
86 else
87 msg_starting pure-ftpd
88 deltext
89 fail
90 fi
91
92 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
93 else
94 msg_already_running pure-ftpd
95 fi
96}
97
98stop() {
99 # Stop daemons.
100 if [ -f /var/lock/subsys/pure-ftpd ]; then
101 if [ -n "$UPLOADSCRIPT" ]; then
102 msg_stopping pure-uploadscript
103 killproc pure-uploadscript
104 fi
105
106 if [ -x "$PURE_AUTH_SCRIPT" -o -r /var/run/pure-authd.pid ]; then
107 msg_stopping pure-authd
108 killproc pure-authd
109 fi
110
111 if [ -x "$PURE_CERT_SCRIPT" -o -r /var/run/pure-certd.pid ]; then
112 msg_stopping pure-certd
113 killproc pure-certd
114 fi
115
116 msg_stopping pure-ftpd
117 killproc pure-ftpd
118
119 rm -f /var/lock/subsys/pure-ftpd > /dev/null 2>&1
120 else
121 msg_not_running pure-ftpd
122 fi
123}
124
125RETVAL=0
126# See how we were called.
127case "$1" in
128 start)
129 start
130 ;;
131 stop)
132 stop
133 ;;
134 status)
135 status pure-ftpd
136 status pure-uploadscript
137 RETVAL=$?
138 if [ $RETVAL -eq 0 ]; then
139 pure-ftpwho
140 fi
141 ;;
142 restart|force-reload)
143 stop
144 start
145 ;;
146 *)
147 msg_usage "$0 {start|stop|restart|force-reload|status}"
148 exit 3
149 ;;
150esac
151
152exit $RETVAL
This page took 0.03448 seconds and 4 git commands to generate.