#!/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 # 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