3 # pureftpd PureFTPD server
6 # description: PureFTPD is fast, production-quality, standard-conformant FTP server
9 # Source function library
10 . /etc/rc.d/init.d/functions
13 . /etc/sysconfig/network
15 PURE_AUTH_SCRIPT=/etc/pure-ftpd/authd/auth.script
16 PURE_AUTH_SOCKET=/var/run/pure-authd/socket
17 PURE_CERT_SCRIPT=/etc/pure-ftpd/certd/cert.script
18 PURE_CERT_SOCKET=/var/run/pure-certd/socket
21 [ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
23 # Check that networking is up.
24 if is_yes "${NETWORKING}"; then
25 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
26 msg_network_down pure-ftpd
34 # Check if the service is already running?
35 if [ ! -f /var/lock/subsys/pure-ftpd ]; then
37 if [ -x "$PURE_AUTH_SCRIPT" ]; then
39 msg_starting pure-authd
41 # 326/326 - authd/authd
43 mkdir -p /var/run/pure-authd
44 chown ftpauth:root /var/run/pure-authd
45 chmod 750 /var/run/pure-authd
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
50 [ $RETVAL -eq 0 ] && chown root:root "$PURE_AUTH_SOCKET" && chmod 600 "$PURE_AUTH_SOCKET"
52 if [ $RETVAL -eq 0 -a -x "$PURE_CERT_SCRIPT" ]; then
54 msg_starting pure-certd
56 # 335/335 - certd/certd
58 mkdir -p /var/run/pure-certd
59 chown ftpcert:root /var/run/pure-certd
60 chmod 750 /var/run/pure-certd
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
65 [ $RETVAL -eq 0 ] && chown root:root "$PURE_CERT_SOCKET" && chmod 600 "$PURE_CERT_SOCKET"
67 if [ $RETVAL -eq 0 ]; then
68 msg_starting pure-ftpd
69 rm -f /var/run/pure-ftpd/client*
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") \
73 $([ "$PURE_CERT" = "yes" ] && echo "--extcert=$PURE_CERT_SOCKET") \
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+$?))
86 msg_starting pure-ftpd
91 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
93 msg_already_running pure-ftpd
99 if [ -f /var/lock/subsys/pure-ftpd ]; then
100 if [ -n "$UPLOADSCRIPT" ]; then
101 msg_stopping pure-uploadscript
102 killproc pure-uploadscript
105 if [ -x "$PURE_AUTH_SCRIPT" -o -r /var/run/pure-authd.pid ]; then
106 msg_stopping pure-authd
110 if [ -x "$PURE_CERT_SCRIPT" -o -r /var/run/pure-certd.pid ]; then
111 msg_stopping pure-certd
115 msg_stopping pure-ftpd
118 rm -f /var/lock/subsys/pure-ftpd > /dev/null 2>&1
120 msg_not_running pure-ftpd
125 # See how we were called.
135 status pure-uploadscript
137 if [ $RETVAL -eq 0 ]; then
141 restart|force-reload)
146 msg_usage "$0 {start|stop|restart|force-reload|status}"