FTP Linux

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Para quien est algo perdido FTP, es un protocolo de red dedicado a la

transferencia de archivos. Por lo que nos permite compartir archivos ya sea en una
red local o por Internet, logueandonos con un usuario y una contrasea

En este tutorial ensearemos a instalar y configurar un servidor ftp en Ubuntu,


para ello usaremos el servidor ftp VSFTPD, actualmente el ms extendido entre
las distribuciones de Linux.

Cmo instalar el servidor FTP


Lo primero es hacer apt-get update par actualizar los repositorios, y lo siguiente
apt-get install vsftpd para instalar el servidor ftp en ubuntu. Recordad
siempre aadir delante sudo para ser root y no tener problemas de permisos en el
proceso.
Cmo veis el proceso de instalacin es muy sencillo, por lo que hasta el usuario
ms novel no tendr problemas.

Cmo configurar el servidor FTP


Una vez termine el proceso de instalacin, es recomendable hacer una copia del
fichero de configuracin /etc/vstfpd.conf haciendo cp /etc/vsftpd.conf
/etc/vsftpd.conf.bak, ya que vamos a tocarlo mucho y no queremos fastidiarlo.
Adems, por si teneis algun problema, os dejamos el archivo de configuracin
original de vsftpd en .txt de Ubuntu 14.04 LTS. por si teneis algun problema.

Ahora vamos a configurar nuestro servidor ftp, as que hacemos nano


/etc/vsftpd.conf, comando con el cual podremos editar la configuracin del
servidor ftp.

Pasemos a detallar los aspectos de este fichero de configuracin, traduciendo


cada opcin del archivo original del servidor ftp:

vsftpd se ejecuta independientemente, es decir automticamente al inicio


listen=YES
Lo mismo que el anterior pero para la IP versin 6

listen_ipv6=YES
Podemos habilitar o deshabilitar el inicio de sesin de usuarios annimos,
anonymous y ftp. (Desactivado por defecto)

anonymous_enable=NO
Para poder loguear usuarios locales del sistema(nosotros).

local_enable=YES
Permite el uso de comandos para cambiar el sistema de ficheros, como MKD o
DELETE.

write_enable=YES
Es la mscara de permisos que se usar para los usuarios del sistema.
Bsicamente funciona restando a 777 los permisos que queramos tener, por
ejemplo, si queremos que los permisos sean 755, entonces, 777-755=022 (Para
los propietarios de los archivos, todos los permisos y para el resto, lectura y
ejecucin).

La opcin ms usada en los servidores ftp es 022.

local_umask=022
Esta opcin permite a los usuarios annimos subir archivos al servidor ftp. Hay
que tener en cuenta que nicamente funcionar si la opcin de escritura global
est activada y obviamente el usuario annimo tiene permisos de escritura en el
directorio.

anon_upload_enable=YES
Esta opcin permite a los usuarios annimos crear directorio en el servidor ftp

anon_mkdir_write_enable=YES
Muestra el mensaje de cambio de directorio

dirmessage_enable=YES
Si est activado, mostrar la hora local de los directorios
use_localtime=YES
Es el registro de login para subir y bajar archivos

xferlog_enable=YES
Si usara el puerto 20 de transferencia de archivos

connect_from_port_20=YES
Esta opcin permite cambiar el propietario de los archivos que suban los usuarios
annimos, para de esta forma conseguir una mayor organizacin.

chown_uploads=YES
chown_username=whoever
Directorio del archivo de registro

xferlog_file=/var/log/vsftpd.log
Puedes cambiar el standar por el que rige el formato del archivo de registro ftpd
xferlog.

xferlog_std_format=YES
Esta opcin especifica el tiempo de inactividad del usuario antes de que
el servidor ftp cierre su sesin.

idle_session_timeout=600
Esta opcin es la misma que la anterior pero para la conexin de datos.

data_connection_timeout=120
Se recomienda que definas en tu sistema un usuario nico que el servidor
ftppueda utilizar como un usuario totalmente aislado y sin privilegios.

nopriv_user=ftpsecure
Si se activa permite al servidor reconocer las peticiones asncronas ABOR. No se
recomienda por motivos de seguridad.

async_abor_enable=YES
Por defecto, el servidor permite el modo ASCII pero ignorar las peticiones. Activa
las opciones de ascii_upload_enable y ascii_download_enable para que el
servidor realmente acepte las peticiones.
ascii_upload_enable=YES
ascii_download_enable=YES
Permite personalizar la frase de presentacin en el inicio de sesin

ftpd_banner=Welcome to blah FTP service.


Permite especificar si se denegara los correos annimos y un archivo
especificando qu direcciones. En ocasiones muy til para combatir ciertos
ataques DoS.

deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails
Con esta opcin podemos restringir el acceso, es decir, si lo activamos los
usuarios del sistema solo tendrn acceso a su /home/ (Directorio personal en
Ubuntu). Selecciona YES para restringir, y NO para tener acceso a todos los
archivos y carpetas.

chroot_local_user=YES
Se puede especificar qu usuarios se vern afectados por la opcin antes
comentada chroot_local_user, activando la opcin chroot_list_enable y
especificando una ruta para la lista de usuarios en la opcin chroot_list_file.

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Permite usar la opcin -R del comando ls en el servidor ftp. Por defecto se
recomienda que est desactivado para evitar que los usuarios remotos conectados
al servidor generen gran cantidad de trfico.

ls_recurse_enable=YES
Personalizacin

Algunas de las configuraciones de "vsftpd" no se ajustan por defecto al diseo del


sistema de archivos (Estas opciones no son compatibles con Debian).

Esta opcin debe ser un directorio el cual debe estar vaco. Adems, el directorio
no debe ser modificable por el usuario ftp. Este directorio se usa como una crcel
segura de "chroot()" al tiempo que "vsftpd" no requiere acceso a los archivos del
sistema.

secure_chroot_dir=/var/run/vsftpd/empty
Esta cadena es el nombre del servicio "PAM" que "vsftpd" va a utilizar.

pam_service_name=vsftpd
Esta opcin especifica la localizacin del certificado RSA que es usado por las
conexiones encriptadas SSL

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
Esta opcin especifica la localizacin de la clave privada RSA que es usado por
las conexiones encriptadas SSL

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Cmo reiniciar el servidor FTP


Una vez configurado el archivo de configuracin, debemos tener claro que para
que la configuracin que cambiemos en el archivo vsftpd.conf se haga efectiva
debemos reiniciar el servidor ftp.

Para reiniciar el servicio ftp usaremos el siguiente comando:

sudo service vsftpd restart


Adems, podemos parar el servicio vsftpd mediante el siguiente comando:

sudo service vsftpd stop


Y para iniciarlo tenemos el siguiente comando:

sudo service vsftpd start

Comandos bsicos del cliente FTP en UBUNTU


Teniendo claro cada aspecto del archivo de configuracin vsftpd.conf, vamos
ahora a detallar los comandos ms importantes que podemos usar en un servidor
ftp:
!: Colocado delante de un comando del sistema, habiendo iniciado sesin
con el servidor ftp, este se ejecuta fuera del servidor, o sea en nuestra
mquina local.
ascii: Especifica que el tipo de transferencia de archivos con el servidor
ftpsea ASCII (Texto).
binary: Especifica que el tipo de transferencia de archivos con el servidor
ftpsea Binaria (por defecto).
bell: indica al sistema que ejecute un pitido cuando se finalice la ejecucin
de los comandos.
bye, quit: termina la sesin con el servidor FTP y vuelve al terminal.
close: termina la sesin FTP sin salir del programa, es decir, cierra la
sesin del usuario con el que te hayas logueado en el servidor ftp.
delete y mdelete: Borra uno o varios archivos respectivamente dentro
del servidor ftp.
get y mget: Descargar uno o varios archivos respectivamente dentro
del servidor ftp.
put: Sube un archivo al servidor ftp.
reget: continuar bajando un archivo cortado anteriormente
open: Conecta con un FTP remoto.
rename: Permite cambiar el nombre de un archivo del servidor ftp.

Ejemplo de configuracin en VSFTPD


Teniendo claro todos los aspectos de configuracin y los comandos bsicos
del servidor ftp claros, vamos a probar un poco el servidor ftp. Para ello vamos a
usar una configuracin de ejemplo en la que el usuario anonimo tendr su propio
directorio donde tendr libertad para trabajar.

Podemos mediante la opcin anon_root darle al usuario anonymous (ftp) un


directorio donde trabajar, por ejemplo, /ftp/anonimo.

Adems tenemos que tener activas las siguientes configuracin para que el
usuario ftp/anonymous pueda crear carpetas, subir archivos y modificarlos.

anonymous_enable=YES
write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

chroot_local_user=YES (Por seguridad)

anon_other_write_enable=YES (Permite al usuario ftp/anonymous borrar)

anon_root=/ftp/anonimo

Debemos crear el directorio mediante el comando mkdir:

sudo mkdir /ftp

sudo mkdir /ftp/anonimo

sudo mkdir /ftp/anonimo/subidas

Y darle los permisos que estimemos oportunos mediante el comando chmod.

sudo chmod 777 /ftp

sudo chmod 775 /ftp/anonimo

sudo chmod 777 /ftp/anonimo/subidas

NOTA: Los permisos que le demos a los directorios deben coincidir con la
configuracin de permisos del archivo de configuracin vsftpd.conf. Adems, el
directorio donde iniciar el usuario ftp/anonymous no puede tener todos los
permisos por motivos de seguridad, sino al iniciar sesion en el servidor ftp es
posible que de el siguiente error (500 OOPS: vsftpd : refusing to run with
writeable root inside chroot()).

Al probar el funcionamiento en local veremos que funciona correctamente:


Y como en remoto tambin:

Tampoco tendremos ningn problema al iniciar sesin con una cuenta local en
el servidor ftp:
Linux

También podría gustarte