On 19/10/2010 04:58 a.m., Liuber Hernández Leyva wrote:
On Tuesday 19 October 2010 16:55:02 Ernesto Acosta wrote:
   On 10/19/2010 10:43 AM, Juan Carlos wrote:
Hola a la comunidad necesito montar un FTP pero que yo le diga de donde
va a cargar los Datos, y que tengan acceso todos los usuarios
(anonymous) y con permisos de solo lectura, Abel lo que me mandastes no
me sirvio en la configuracion de mi vsftpd no venian las lineas me
dijistes modificara que Distro tu usas??? Yo uso Debian 5.0.6 Lenny y no
vi eso en la configuracion del vsftpd por favor si alguien me puede
echar una mano se lo agradeceria, lo que quiero es algo sencillo normal
sin muchas complicaciones...
Para eso yo no uso un FTP como tal. Una carpeta en el servidor con
Apache y andando. El FTP sería para subir datos o cosas así.
vsftpd, cre una carpeta en /home/ftp, la cual tiene las características que
defines anteriormente, y me quedaría con el pero: hay más...

FTP con proftpd
apt- get install proftpd

edite el fichero /etc/proftpd/proftpd.conf
cambie este valor
UseIPv6                         on
Por este otro
UseIPv6                         off

Busque casi al final del documento una línea que dice esto
# A basic anonymous configuration, no upload directories.
Y descoméntela desde
<Anonymous
Hasta
</Anonymous

El lugar del ftp por defecto es /home/ftp así que en este lugar podrá copiar
lo que está normado que se publique en un FTP para que sea visto

Reinicie el proftpd y pida en el navegador
ftp://ftp.dmexx.vcl.rimed.cu y verá el FTP

Si desea cambiar la ruta del FTP
Ejemplo: /var/www/ftp
quedaría así
# A basic anonymous configuration, no upload directories.
  <Anonymous /var/www/ftp>
    User                                ftp
    Group                       nogroup
    UserAlias                   anonymous ftp
    DirFakeUser on ftp
    DirFakeGroup on ftp

    RequireValidShell           off

    MaxClients                  10

    DisplayLogin                        welcome.msg
    DisplayFirstChdir           .message

    <Directory *>
      <Limit WRITE>
        DenyAll
      </Limit>
    </Directory>
  </Anonymous>

# A basic anonymous configuration, no upload directories.
  <Anonymous /var/www/ftp>
    User                                ftp
    Group                               nogroup
    UserAlias                   anonymous ftp
    DirFakeUser on ftp
    DirFakeGroup on ftp

    RequireValidShell   off

    MaxClients                  10

    DisplayLogin                welcome.msg
    DisplayFirstChdir   .message

    <Directory *>
      <Limit WRITE>
        DenyAll
      </Limit>
    </Directory>
  </Anonymous>


Puedes utilizar este script

#!/bin/sh

#diag=`ls /usr/bin/ | grep ?ialog`
if [ -e $diag ];then
continue;else
aptitude install -y dialog
fi
while [ 0 ]; do
dialog --backtitle "Creado por Liovan Morales Gonzalez ........ 
(lio...@isp.vcl.rimed.cu)" \
--title "Instalacion de PROFTPD. V 2.01" \
--menu "Elija una opcion para seguir o prosione<Cancel>  para salir." 0 65 4 \
  "1" "Instalacion de PROFTPD con usuarios anonimos." \
  "2" "Crear usuarios para PROFTPD." \
  "3" "Cambiar el password a los usuarios de PROFTPD" \
  "4" "Eliminar usuarios de PROFTPD" \
  2>  opcion.tmp
if [ $? = 1 ]; then
rm -f *.tmp
clear
exit 1
fi
opcion=`cat opcion.tmp`
  if [ $opcion = 1 ];then
             dialog --title "Instalacion de PROFTPD." \
             --msgbox "Para la instalacion primeramente seleccione independiente o 
(standalone)" 8 70
            dialog  --yesno "Desea continuar con la instalacion." 5 40
            if [ $? = 0 ]; then
                for i in 0 3 ;
                do sleep 1; echo $i; done | dialog --gauge "Instalando PROFTPD" 
10 100 0
                clear
                aptitude install -y proftpd
                for i in 3 30 70  ;
                do sleep 1; echo $i; done | dialog --gauge "Instalando PROFTPD" 
10 100 3
                mkdir /etc/proftpd/auth
                touch /etc/proftpd/auth/users.ftp
                echo "ftp:x:2001:">  /etc/proftpd/auth/groups.ftp
                rm /etc/proftpd/proftpd.conf
                dialog --title "Proceso de instalacion." \
                --inputbox "Entre la cantidad maxima de usuario simultanea ( ej: 15 
):" 8 50 \
               2>  simult.tmp
                simultanea=`cat simult.tmp`
                dialog --title "Proceso de instalacion." \
                --inputbox "Entre la direccion de la carpeta para usuarios anonimos 
( ej: /var/www/ ):" 8 60 \
                2>  anonimos.tmp
                anonimos=`cat anonimos.tmp`
echo -ne "Include /etc/proftpd/modules.conf
UseIPv6                         off
ServerName                      Servidor FTP
ServerType                      standalone
DeferWelcome                    off
MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200
DisplayLogin                    welcome.msg
ListOptions                     -l
DenyFilter                      \*.*/
Port                            21
MaxInstances                    $simultanea
User                            proftpd
Group                           nogroup
Umask                           022  022
AllowOverwrite                  on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_tls.c>
TLSEngine off
</IfModule>

<IfModule mod_quota.c>
QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
Ratios on
</IfModule>


<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>

#...
DefaultRoot             ~
AuthUserFile            /etc/proftpd/auth/users.ftp
AuthGroupFile           /etc/proftpd/auth/groups.ftp
RequireValidShell       off

<Directory /var/www/*>
 Umask                  000     000
  AllowOverwrite         on
  <Limit WRITE>
  AllowGroup ftp
  DenyAll
  </Limit>
</Directory>

#################### ANONIMO #######################
<Anonymous $anonimos>
  User                         ftp
  Group                        nogroup
  UserAlias                    anonymous ftp
  DirFakeUser  on ftp
  DirFakeGroup on ftp
  RequireValidShell            off
  MaxClients                   10
  DisplayLogin                 welcome.msg
  DisplayFirstChdir            .message
  <Directory *>
  <Limit WRITE>
  DenyAll
  </Limit>
  </Directory>
</Anonymous>">/etc/proftpd/proftpd.conf
                chmod -R 755 $anonimos
                for i in 80 90;
                do sleep 1; echo $i; done | dialog --gauge "Completando la 
instalacion (Cambiando permisos)" 10 100 80
                /etc/init.d/proftpd restart
                for i in 95 ;
                do sleep 1; echo $i; done | dialog --gauge "Finalizando la 
instalacion" 10 100 95
                sleep 2
                else
                continue
                fi
 elif [ $opcion = 2 ]; then
        proftpd=`ls /usr/sbin | grep proftpd`
        if [ -e $proftpd ]; then
        dialog --msgbox "Se ha detectado que PROFTPD no esta instalado, seleccione 
la opcion (1) para luego crear usuarios" 0 0
        else
        dialog --title "Adicionar usuarios a PROFTPD" \
        --inputbox "Entre el nombre de usuario para FTP" 8 50 \
        2>  uftp.tmp
        if [ $? = 1 ];then
        continue
        fi
        uftp=`cat uftp.tmp`
        busq=`grep "$uftp:" /etc/proftpd/auth/users.ftp`
           if [ -z $busq ] ; then
           file=`ls /etc/proftpd/auth/ | grep num`
              if [ -e $file ]; then
              echo "1001">/etc/proftpd/auth/num
              else
              mun=`cat /etc/proftpd/auth/num`
              echo $(($mun+1))>/etc/proftpd/auth/num
              fi
           uid=`cat /etc/proftpd/auth/num`
           dialog --title "Adicionar usuarios a PROFTPD" \
           --inputbox "Entre la ruta de escritura del usuario (ej: 
/var/www/web)" 8 50 \
           2>  ruta.tmp
           ruta=`cat ruta.tmp`
           dialog --title "Adicionar usuarios a PROFTPD" \
           --passwordbox "Entre el password para el usuario :" 8 50 \
           2>  passftp.tmp
           pp=`cat passdftp.tmp`
           echo "$pp">>  passdftp.tmp
#           clear
           ftpasswd --passwd --name=$uftp --home=$ruta --shell=/bin/false --gid=2001 
--uid=$uid  --file=/etc/proftpd/auth/users.ftp>  pass.tmp<  passdftp.tmp&
           chmod -R 777 /etc/proftpd/auth
           chmod -R 777 $ruta
           else
           dialog --msgbox "El usuario $uftp ya existe" 8 50
           fi
        continue
        fi
    elif [ $opcion = 3 ];then
        proftpd=`ls /usr/sbin/ | grep proftpd`
        if [ -e $proftpd ]; then
        dialog --msgbox "Se ha detectado que PROFTPD no esta instalado, seleccione 
la opcion (1) para luego crear usuarios" 0 0
        else
        dialog --title "Cambiar password a usuarios de PROFTPD" \
           --inputbox "Entre el usuario FTP para cambiar el pass: " 8 50 \
           2>  pass.tmp
        uftpd=`cat pass.tmp`
        if [ $? = 1 ];then
        continue
        fi
        clear
        busq=`grep "$uftp:" /etc/proftpd/auth/users.ftp`
             if [ -n $busq ] ; then
             ftpasswd --passwd --change-password --name=$uftpd 
--file=/etc/proftpd/auth/users.ftp
             chmod 777 /etc/proftpd/auth/users.ftp
             fi
        continue
        fi
elif [ $opcion = 4 ];then
EXIST="No"
dialog --title "Borrar usuarios de PROFTPD" \
        --inputbox "Entre el usuario FTP para borrar: " 8 40 \
        2>  uftpb.tmp
        uftpb=`cat uftpb.tmp`
        if [ $? = 1 ];then
        continue
        else
            EXIST=`grep "^$uftpb:" /etc/proftpd/auth/users.ftp`
            if [ -z "$EXIST" ]; then
            dialog --sleep 3 \
            --title "ERROR" \
            --infobox "El usuario $uftpb no existe." 4 40
            fi
             if [ -n "$EXIST" ] ; then
             busq=`grep -v "^$uftpb:" /etc/proftpd/auth/users.ftp`
             echo "$busq">  /etc/proftpd/auth/users.ftp.tmp
             rm /etc/proftpd/auth/users.ftp
             mv /etc/proftpd/auth/users.ftp.tmp /etc/proftpd/auth/users.ftp
             chmod 777 /etc/proftpd/auth/users.ftp
             dialog --sleep 3 \
             --title "HECHO" \
             --infobox "El usuario $uftpb ha sido borrado." 4 50
             fi
        fi
else
continue
fi
done







--
==================================================================================
*Lic. Eliecer Turó González*
Administrador del Sistemas Informáticos
Dirección Municipal de Educación Caibarién. Villa Clara. Cuba.
GNU-Linux Counter No. 512859
Teléfono: 35-2750 (NODO)
"Lo más bello que podemos experimentar es el lado misterioso de la vida. Es el sentimiento profundo que se encuentra en la cuna del arte y de la ciencia verdadera" -- Albert Einstein (1878-1955)
==================================================================================
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
<http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20101019/d27c0453/attachment.htm>
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
http://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a