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_FTPD_CONF=/etc/ftpd/pureftpd.conf
16 [ -f /etc/pure-ftpd/conf/pureftpd.conf ] && PURE_FTPD_CONF=/etc/pure-ftpd/conf/pureftpd.conf
18 PURE_AUTH_SCRIPT=/etc/pure-ftpd/authd/auth.script
19 PURE_AUTH_SOCKET=/var/run/pure-authd/socket
20 PURE_CERT_SCRIPT=/etc/pure-ftpd/certd/cert.script
21 PURE_CERT_SOCKET=/var/run/pure-certd/socket
24 [ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
26 # Check that networking is up.
27 if is_yes "${NETWORKING}"; then
28 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
29 msg_network_down pure-ftpd
37 # Check if the service is already running?
38 if [ ! -f /var/lock/subsys/pure-ftpd ]; then
40 if [ -x "$PURE_AUTH_SCRIPT" ]; then
42 msg_starting pure-authd
44 # 326/326 - authd/authd
46 mkdir -p /var/run/pure-authd
47 chown ftpauth:root /var/run/pure-authd
48 chmod 770 /var/run/pure-authd
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
54 if [ $RETVAL -eq 0 -a -x "$PURE_CERT_SCRIPT" ]; then
56 msg_starting pure-certd
58 # 335/335 - certd/certd
60 mkdir -p /var/run/pure-certd
61 chown ftpcert:root /var/run/pure-certd
62 chmod 770 /var/run/pure-certd
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
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") \
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+$?))
87 msg_starting pure-ftpd
92 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
94 msg_already_running pure-ftpd
100 if [ -f /var/lock/subsys/pure-ftpd ]; then
101 if [ -n "$UPLOADSCRIPT" ]; then
102 msg_stopping pure-uploadscript
103 killproc pure-uploadscript
106 if [ -x "$PURE_AUTH_SCRIPT" -o -r /var/run/pure-authd.pid ]; then
107 msg_stopping pure-authd
111 if [ -x "$PURE_CERT_SCRIPT" -o -r /var/run/pure-certd.pid ]; then
112 msg_stopping pure-certd
116 msg_stopping pure-ftpd
119 rm -f /var/lock/subsys/pure-ftpd > /dev/null 2>&1
121 msg_not_running pure-ftpd
126 # See how we were called.
136 status pure-uploadscript
138 if [ $RETVAL -eq 0 ]; then
142 restart|force-reload)
147 msg_usage "$0 {start|stop|restart|force-reload|status}"