summaryrefslogtreecommitdiffstats
path: root/ftp_wizard/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'ftp_wizard/scripts')
-rwxr-xr-xftp_wizard/scripts/do_it_ftp.sh127
-rw-r--r--ftp_wizard/scripts/proftpd.conf.default45
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
+