proftpd 설치 Linux
2014.01.23 16:50 Edit
proftpd 설치
[root@localhost]#./configure --prefix=/usr/local/proftpd --enable-autoshadow --enable-shadow
[root@localhost]#make && make install
[root@localhost]#cp /usr/local/src/proftpd-1.3.4b/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
[root@localhost]#chmod 755 /etc/init.d/proftpd
[root@localhost]#vi /etc/init.d/proftpd
-----------------------------------------------------------------------------------------
#!/bin/sh
#
# Startup script for ProFTPD
#
# chkconfig: - 85 15
# description: ProFTPD is an enhanced FTP server with a focus towards \
# simplicity, security, and ease of configuration. \
# It features a very Apache-like configuration syntax, \
# and a highly customizable server infrastructure, \
# including support for multiple 'virtual' FTP servers, \
# anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftpd.conf
# pidfile: /var/run/proftpd/proftpd.pid
### BEGIN INIT INFO
# Provides: proftpd ftpserver
# Required-Start: $local_fs $network $named $remote_fs
# Required-Stop: $local_fs $network $named $remote_fs
# Default-Stop: 0 1 6
# Short-Description: ProFTPd FTP Server
# Description: ProFTPd is an enhanced FTP server with a focus towards
# simplicity, security, and ease of configuration.
# It features a very Apache-like configuration syntax,
# and a highly customizable server infrastructure,
# including support for multiple 'virtual' FTP servers,
# anonymous FTP, and permission-based directory visibility.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
#. /etc/sysconfig/network
# Source ProFTPD configuration.
#PROFTPD_OPTIONS=""
if [ -f /etc/sysconfig/proftpd ]; then
. /etc/sysconfig/proftpd
fi
# Check that networking is enabled.
#[ ${NETWORKING} = "no" ] && exit 1
# Make sure the binary is present.
#[ -x /usr/sbin/proftpd ] || exit 5
PATH="$PATH:/usr/local/proftpd/sbin"
RETVAL=0
prog="proftpd"
start() {
echo -n $"Starting $prog: "
daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
}
stop() {
echo -n $"Shutting down $prog: "
killproc proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status proftpd
RETVAL=$?
;;
restart)
stop
start
;;
try-restart|condrestart)
if [ -f /var/lock/subsys/proftpd ]; then
stop
start
fi
;;
reload|force-reload|reread)
echo -n $"Re-reading $prog configuration: "
killproc proftpd -HUP
RETVAL=$?
echo
;;
suspend)
hash ftpshut >/dev/null 2>&1
if [ $? = 0 ]; then
if [ $# -gt 1 ]; then
shift
echo -n "Suspending with '$*'"
ftpshut "$@"
RETVAL=$?
else
echo -n "Suspending NOW"
ftpshut now "Maintenance in progress"
RETVAL=$?
fi
else
echo -n "No way to suspend"
RETVAL=1
fi
echo
;;
resume)
if [ -f /etc/shutmsg ]; then
echo -n "Allowing sessions again"
rm -f /etc/shutmsg
else
echo -n "Was not suspended"
RETVAL=2
fi
echo
;;
*)
echo -n "Usage: $prog {start|stop|restart|try-restart|reload|status|reread|resume"
hash ftpshut
if [ $? = 1 ]; then
echo '}'
else
echo '|suspend}'
echo 'suspend accepts additional arguments, which are passed to ftpshut(8)'
fi
exit 2
esac
exit $RETVAL
-----------------------------------------------------------------------------------------