File: vsftpd.init

package info (click to toggle)
vsftpd 2.3.5-3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,824 kB
  • sloc: ansic: 15,648; sh: 192; makefile: 50
file content (116 lines) | stat: -rw-r--r-- 2,321 bytes parent folder | download | duplicates (2)
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
#!/bin/sh

### BEGIN INIT INFO
# Provides:		vsftpd
# Required-Start:	$remote_fs $syslog
# Required-Stop:	$remote_fs $syslog
# Default-Start:	2 3 4 5
# Default-Stop:		1
# Short-Description:	Very secure FTP server
### END INIT INFO

set -e

DAEMON="/usr/sbin/vsftpd"
NAME="vsftpd"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
LOGFILE="/var/log/vsftpd.log"
CHROOT="/var/run/vsftpd/empty"

test -x "${DAEMON}" || exit 0

if [ ! -e "${LOGFILE}" ]
then
	touch "${LOGFILE}"
	chmod 640 "${LOGFILE}"
	chown root:adm "${LOGFILE}"
fi

if [ ! -d "${CHROOT}" ]
then
	mkdir -p "${CHROOT}"
fi

Check_standalone_mode ()
{
	# Return 1 if vsftpd.conf doesn't have listen=yes or listen_ipv6=yes
	# (mandatory for standalone operation).

	CONFFILE="/etc/vsftpd.conf"

	if [ -e "${CONFFILE}" ] && ! egrep -iq "^ *listen(_ipv6)? *= *yes" "${CONFFILE}"
	then
		echo "${CONFFILE}: listen disabled - service will not start"
		return 1
	fi
}

case "${1}" in
	start)
		Check_standalone_mode || exit 0
		echo -n "Starting FTP server: "

		start-stop-daemon --start --background -m --oknodo --pidfile /var/run/vsftpd/vsftpd.pid --exec ${DAEMON}

		echo "${NAME}."
		;;

	stop)
		echo -n "Stopping FTP server: "

		start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --oknodo --exec ${DAEMON}
		rm -f /var/run/vsftpd/vsftpd.pid

		echo "${NAME}."

		;;

	restart)
		echo -n "Stopping FTP server: "

		start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --oknodo --exec ${DAEMON}
		rm -f /var/run/vsftpd/vsftpd.pid

		echo "${NAME}."
		Check_standalone_mode || exit 0
		echo -n "Starting FTP server: "

		start-stop-daemon --start --background -m --pidfile /var/run/vsftpd/vsftpd.pid --exec ${DAEMON}

		echo "${NAME}."
		;;

	reload|force-reload)
		echo "Reloading FTP server configuration: "

		start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --signal 1 --exec $DAEMON

		echo "${NAME}."
		;;

	status)
		PID="$(cat /var/run/vsftpd/vsftpd.pid 2>/dev/null)" || true

		if [ ! -f /var/run/vsftpd/vsftpd.pid ] || [ -z "${PID}" ]
		then
			echo "${NAME} is not running"
			exit 3
		fi

		if ps "${PID}" >/dev/null 2>&1
		then
			echo "${NAME} is running"
			exit 0
		else
			echo "${NAME} is not running"
			exit 1
		fi
		;;

	*)
		echo "Usage: /etc/init.d/${NAME} {start|stop|restart|reload|status}"
		exit 1
		;;
esac

exit 0