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