diff options
Diffstat (limited to 'ftp_wizard/scripts')
-rwxr-xr-x | ftp_wizard/scripts/do_it_ftp.sh | 127 | ||||
-rw-r--r-- | ftp_wizard/scripts/proftpd.conf.default | 45 |
2 files changed, 172 insertions, 0 deletions
diff --git a/ftp_wizard/scripts/do_it_ftp.sh b/ftp_wizard/scripts/do_it_ftp.sh new file mode 100755 index 00000000..2f73aeb6 --- /dev/null +++ b/ftp_wizard/scripts/do_it_ftp.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# +# Wizard +# +# Copyright (C) 2000 Mandrakesoft. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# See file LICENSE for further informations on licensing terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Authors: Jerome Dumonteil, Maurizio De Cecco, Enzo Maggi +# icons: Helene Durosini <ln@mandrakesoft.com> +# <corporate@mandrakesoft.com> http://www.mandrakesoft.com + +# script for wizard anonymous configuration +# +# modify default ftp configuration +# assuming all dependencies are ok +# +# WARNING : just using /etc/ftphosts for ftp configuration, assuming +# other files are close to standard configuration + + +open_inet_ftp(){ +if [ -z "`grep -E '^[[:space:]]*ftp[[:space:]]' /etc/inetd.conf`" ]; then + echo_debug "opening ftp in inetd.conf" + bck_file /etc/inetd.conf + cat /etc/inetd.conf.mdk_orig.1 \ +|sed -e '/[[:space:]]*#[[:space:]]*\(ftp[[:space:]].*\)$/{ +i \ +# opened by mdk_serv script on '"$(date)"' +s//\1/ +} +' >/etc/inetd.conf + +fi +} + + + +# wiz_ftp_external and wiz_ftp_internal are provided by the running wizard +# now, save them +file=/etc/sysconfig/mdk_serv + +echo_debug "internal : ${wiz_ftp_internal}" +echo_debug "external : ${wiz_ftp_external}" + +# security +[ "${wiz_ftp_external}" = "1" -o "${wiz_ftp_external}" = "0" ] || wiz_ftp_external=0 +[ "${wiz_ftp_internal}" = "1" -o "${wiz_ftp_internal}" = "0" ] || wiz_ftp_internal=0 + +[ "${wiz_ftp_external}" = "1" ] && wiz_ftp_internal=1 + +# store the wiz_ftp_external and wiz_ftp_internal value +chg_val ${file} wiz_ftp_external ${wiz_ftp_external} s +chg_val ${file} wiz_ftp_internal ${wiz_ftp_internal} s + + +# saving /etc/ftphosts configuration file +config="/etc/ftphosts" +if [ ! -f ${config} ]; then + echo_debug "no ftp configuration file found ! warning." +else + bck_file ${config} +fi + + +if [ "${wiz_ftp_external}" = "1" ]; then + +echo -e "\ +# host access file\n\ +# Everything after a '#' is treated as comment,\n\ +# empty lines are ignored\n\ +# acces allowed without host restriction done\n\ +# by script $(date)\ +"> ${config} + + open_inet_ftp + +elif [ "${wiz_ftp_internal}" = "1" ]; then + +ip=`get_var wiz_ip_net` +echo -e "\ +# host access file\n\ +# Everything after a '#' is treated as comment,\n\ +# empty lines are ignored\n\ +# anonymous acces allowed for local network, done\n\ +# by script $(date)\n\ +allow * ${ip%.*}.*\ +"> ${config} + + open_inet_ftp + +else +echo -e "\ +# host access file\n\ +# Everything after a '#' is treated as comment,\n\ +# empty lines are ignored\n\ +# anonymous acces denied, done\n\ +# by script $(date)\n\ +deny * *\ +"> ${config} + +fi + + +echo_debug "restarting services" + +service xinetd restart + + +# all is ok +exit 10 + + + diff --git a/ftp_wizard/scripts/proftpd.conf.default b/ftp_wizard/scripts/proftpd.conf.default new file mode 100644 index 00000000..1325e599 --- /dev/null +++ b/ftp_wizard/scripts/proftpd.conf.default @@ -0,0 +1,45 @@ +# This is a basic ProFTPD configuration file (rename it to +# 'proftpd.conf' for actual use. It establishes a single server +# and a single anonymous login. It assumes that you have a user/group +# "nobody" and "ftp" for normal operation and anon. + +ServerName "ProFTPD Default Installation" +ServerType standalone +DefaultServer on + +# Allow FTP resuming. +# Remember to set to off if you have an incoming ftp for upload. +AllowStoreRestart on + +# Port 21 is the standard FTP port. +Port 21 +# Umask 022 is a good standard umask to prevent new dirs and files +# from being group and world writable. +Umask 022 + +# To prevent DoS attacks, set the maximum number of child processes +# to 30. If you need to allow more than 30 concurrent connections +# at once, simply increase this value. Note that this ONLY works +# in standalone mode, in inetd mode you should use an inetd server +# that allows you to limit maximum number of processes per service +# (such as xinetd) +MaxInstances 30 + +# Set the user and group that the server normally runs at. +User nobody +Group nogroup + +# Normally, we want files to be overwriteable. +<Directory /*> + AllowOverwrite on +</Directory> + +# Needed for NIS. +PersistentPasswd off + +# Default root can be used to put users in a chroot environment. +# As an example if you have a user foo and you want to put foo in /home/foo +# chroot environment you would do this: +# +# DefaultRoot /home/foo foo + |