PDF de programación - Pureftpd mini-COMO

Imágen de pdf Pureftpd mini-COMO

Pureftpd mini-COMOgráfica de visualizaciones

Actualizado el 7 de Marzo del 2020 (Publicado el 10 de Abril del 2017)
558 visualizaciones desde el 10 de Abril del 2017
18,8 KB
7 paginas
PURE-FTPD Mini-COMO

versión 0.1

Mario Gonzalez mgonzale@alumnos.ipvg.cl

Este mini-como o mini-howto tiene por objetivo ayudarte a instalar un servidor FTP
con el conocido servidor pure-ftp. Esta como es la primera versión no ahondare
mucho sino que te ayudare a dejar corriendo tu servidor. No dare ayuda a
programadores, esa no es la idea que tengo. En las próximas versiones hablare de
como funcionar con un ldap, ocupar usuarios virtuales como así por el estilo.

Índice General

1. Índice General.

2. Preámbulo.

2.1Motivos por haber escrito esto.

2.2Quien soy yo???.

2.3Dedicación y Agradecimientos.

2.4Derecho del Autor.

3. Requerimientos y puesta en marcha.
3.1Requisitos de Hardware.

3.2Dependencias.

3.3Consiguiéndose las fuentes y/o los binarios.

3.4Crear el Makefile.

3.5Compilación e instalación.

4. Arrancando el Servidor.

4.1A traves de inetd.

4.2Como un 'daemon'.

4.3Hacer que arranque al inicio.

4.4Paso de Parámetros.

4.5Prueba.

5. Conclusión y observaciones.

2 Preámbulo

Motivos por Haber escrito esto

2.1
Soy un amante del OpenSource y de GNU/Linux en primer lugar y me gusta
compartir con otros, hasta donde se puede, lo que yo se. Quizás a traves de este como
no aprendas mas de lo que sabias antes, pero yo se y estoy seguro que que mas de una
persona le va a servir esto. Sabes por que?? Porque yo igual lo he hecho muchas veces
y en varias oportunidades me han sacado de apuro.

Obviamente no soy perfecto y cometo errores igual que tu, así que si me
equivoco de algo o crees que puedes aportar cosas productivas, hacelo a mi correo
indicado arriba.

Quien soy yo??

2.2
En el principio de este documento aparecía mi nombre real y en la red se me conoce
por luvex. Yo NO SOY PARTE DEL PROYECTO PUREFTPD, que quede muy
claro, solo soy una persona a quien en ocasiones no le gusta dormir mucho (solo) y
que le gusta linux. En estos momentos estoy optando por el Titulo de Ingeniero
Informático en el Virginio Gomez de la Universidad de Concepción, Chile y pretendo
sacar un Magister o un PostGrado como quieras llamarlo. Mi experiencia con linux
me lleva hacia un par de años solamente, desde el 2001. Antes todavía era un vago de
conocimiento y usaba window$ (me da pena decirlo ahora) pero he aprendido harto y
este es mi primer documento escrito sobre algo que se puede hacer con linux, ojala no
me critiquen mucho ah!!!. ;-)

Dedicación y Agradecimientos

2.3
Quiero agradecer a todos las personas y amigos que me han ayudado de alguna
manera, como los siguientes: Osvaldo Gonzalez, Priscilla Danyau, Cecilia Labraña,
Manuel Novoa y Pedro Salcedo.

Osvaldo Gonzalez fue el que diseño y construyo una interfaz gráfica en
Java. Hasta ahora es una versión de prueba pero le quedo buena. El mail de el es
aplock@linuxmail.org

Derechos del Autor.

2.4
Puedes distribuir este documento a cuantas personas, amigos o instituciones desees.
Lo quise hacer GPL para que cualquier persona pueda distribuir libremente este
material ya sea por escrito o de forma electrónica. Lo único que te pido es que
menciones al autor de este documento, no por ego o por ser vanidoso, sino porque......
bueno, yo lo hice o no???!!! Algo me tendré que llevar.

3 Requerimientos y Puesta en Marcha

Requisitos del Hardware.

3.1
Yo he instalado el pureftpd bajo Slackware, Debian, Redhat y Mandrake
y en
ninguno de ellos ha habido problema. El hardware no tiene mucho que ver en esto ya
que el servidor crea su puerto, generalmente el 21 y no se preocupa de lo físico.
Hasta ahora no he sabido de conflictos con el hardware y no creo que aparezcan
alguna vez.

Dependencias.

3.2
Luego de haber instalado el servidor, cosa que vamos a ver en unos puntos mas
adelante, el pureftpd depende de el mismo. Aunque parezca ridículo decirlo, el puerto
que ocupa el FTP no debe estar ocupado sino tu servidor nunca subirá. Digo esto
porque he visto a personas con ese problema.

Para compilarlo necesitas el gcc, ojala de la versión 2.95 hacia arriba.
Obviamente debes tener las librerías necesarias como glibc, pero eso esta en casi la
mayoría de las estaciones Linux (por no decir en todos). Los nombres de los paquetes
que contiene esas librerías difieren con la distribución que uses. Pureftpd soporta la
comunicación entre LDAP, PostgreSQL y/o MySQL, así que si quieres compilarlo
con alguno de esas directrices, primero debes tenerlos instalado para luego darle la
ruta donde encontrarlo.

Consiguiéndose las Fuentes.

3.3
Existen los paquetes precompilados, como son para Slackware, Debian o Redhat.
Bueno, yo me limito a explicar como se realiza la instalación a traves de las fuentes
y creo que es mejor. Además, compilando no pierdes tanto tiempo en comparación a
una compilación por ejemplo de Kde. Nunca los he instalado los binarios y te
aconsejo que tu tampoco. Sin embargo las personas que pertenecen al grupo de
desarrollo de pureftpd colocaron los binarios para varias distribuciones Linux. Busca
mas información en la pagina. Y allí mismo podrás bajar las ultimas fuentes del
servidor. http://www.pureftpd.org

Creando el Makefile

3.4
Si ya has compilado alguna aplicación alguna vez esto ya sera trivial para ti. Si ya
hiciste el punto 3.3 y tienes las fuentes ya es hora que los descomprimas. Si lo bajaste
como .bz2 o .gz debes hacer lo siguiente:
# tar -jxvf pure-ftpd-version.tar.bz2 eso te permitirá descomprimir el .bzip
#tar -zxvf pure-ftpd-version.tar.gz eso te permitirá descomprimir el .gz

Entra al directorio y encontraras un archivo llamado configure y ejecutalo.
# ./configure
Si deseas necesidades especiales veelas todas con

# ./configure --help te mostrara todas las opciones de configuración que exista hasta
el momento. En la fecha de la redacción estaba la versión 1.0.14.
Si al ejecutar el configure con las opciones deseadas como por ejemplo
# ./configure –with-language=spanish sale todo bien entonces debes ver algo asi
<Contenido omitido>

configure: creating ./config.status

config.status: creating Makefile

configure: +--------------------------------------------------------+

configure: | You can subscribe to the Pure-FTPd users mailing-list |

configure: | to ask for help and to stay informed of new releases. |

configure: | Go to http://www.pureftpd.org/ml/ now! |

configure: +--------------------------------------------------------+
A estas alturas el Makefile esta creado y estamos listos para la Compilación.

Compilación e Instalación

3.5
Esto cada día, en la mayoría de las ocasiones es muy trivial, si le diste las ordenes
correctas al Makefile solo queda compilar, eso lo haces con
#make
Opcionalmente puedes escribir
#make check el cual ejecutara scripts para ver como quedo la compilación.
Luego como root haces
#make install el cual instalara los binarios y manuales ya creados en el directorio dado
en el configure. Si no lo dijiste nada por defecto lo instalara en /usr/local/sbin

4 Arrancando el Servidor

Arrancando desde Inetd.

4.1
Primero que nada, debes saber que inetd es un “super demonio de Internet“ y la
función que tiene es escuchar el algún puerto especifico y al momento de escuchar
alguna petición “despertar al servidor que le corresponda“. En nuestro caso pure-ftpd
que ocupa el puerto 21. Para que funcione debes añadir una linea en el archivo
/etc/services parecido a esta:

ftp

21/tcp

# Algún Comentario que quieras

Luego añade en el /etc/inetd.conf una linea así
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/pure-ftpd

Si deseas, pasale algunos parámetros, te aconsejo que le pases solo hasta 4 o 5.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/pure-ftpd -I2 -c3

Luego de haber echo lo de arriba debes reiniciar el

inetd. Hacelo

matando el pid del proceso.

# killall inetd y luego reinicialo ejecutando como root
# inetd o /usr/sbin/inetd

4.2

Como un daemon

Este modo lo recomiendo porque a traves de inetd se puede realizar fácilmente un
ataque de DoS (Denegación de Servicio) ya que el inetd deja de escuchar por un
tiempo cuando hay muchas conexiones simultaneas. Los desarrolladores dicen que es
mejor usar el xinetd u otro que exista. Pero de todas maneras recomiendan este modo.
Para hacer esto es sumamente fácil en la linea de comando escribe
#/usr/local/sbin/pure-ftpd -B y si quieres asegurate de que subió.

4.3

Arrancando al inicio

Si
tu servidor esta configurado para que arranque con inetd o xinetd debes
preocuparte que ellos partan al inicio o cuando tu lo digas. En redhat hay una
aplicación llamada setup invocala desde la linea de comandos e indica que quieres
que se inicie sola. Lo otro es que agreges una linea en el /etc/rc.local o le digas al
sistema que lo haga. Yo uso Slackware y tengo una parte en el /etc/rc.d/rc.inet2 que
dice así

# Start FTP Service
if [ -x /etc/rc.d/rc.ftp ]; then
/etc/rc.d/rc.ftp
fi
# Done Starting FTP Service y el archivo /etc/rc.d/rc.ftp tiene esto:

/usr/local/sbin/pure-ftpd -A -B -C1 -c5 -E -I2 -r -u100 nada mas

Paso de Parámetros

4.4
No las indicare todas pero si las mas útiles según mi criterio:
A todas las mencionadas ahora se le debe anteponer un guion (-) como se muestra en
la linea de arriba.

A

= El raíz del usuario que entra es solo su /home. No puede salir de allí.
Eso bloquea que los usuarios navegen por todo el sistema.
= El servidor funciona como un daemon.

B
C<Entero> = Limita la máxima cantidad de usuarios por ip. Debe pasarse un numero

entero positivo para que funcione.

c<Entero> = Máximo numero de clientes. Sino se especifica esta opción, el máximo

E

sera 50.
= No permite la entrada de anónimos.

e
I
r

= Solo permite anónimos.
= Tiempo máximo que puede permanecer un usuario sin hacer nada.
= Si se sube un archivo que ya existe no se sobre escribe sino que le pone
un nombre similar.

u<Entero> = No permite que usuarios que estén bajo el uid dado por el numero
entero entren al sistema. Por ejemplo si fuera la
  • Links de descarga
http://lwp-l.com/pdf2721

Comentarios de: Pureftpd mini-COMO (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad