Está en la página 1de 12

Factor Evolución SA de CV http://www.linuxparatodos.

net
Índice de contenido
Información de derechos reservados de esta publicación. ...............2
7.0 Servidor FTP................................................................
.......................................................................5
7.1 Instalación de vsftpd.........................................................
...............................................................5
7.2 Creación del grupo............................................................
..............................................................5
7.3 Creación del home.............................................................
..............................................................5
7.4 Creación de shell FTP.........................................................
............................................................5
7.5 Creando usuarios FTP........................................................
.............................................................6
7.6 Ficheros de configuración.....................................................
..........................................................6
7.7 Configuración de vsftpd.......................................................
...........................................................6
7.7.1 Parámetro anonymous_enable..................................................
...............................................7
7.7.2 Parámetro local_enable......................................................
......................................................7
7.7.3 Parámetro write_enable......................................................
.....................................................7
7.7.4 Parámetro local_umask.......................................................
.....................................................7
7.7.5 Enjaulando a los usuarios FTP.............................................
...................................................7
7.7.6 Control del ancho de banda................................................
.....................................................8
7.7.7 Reinicio del servidor FTP.................................................
.......................................................8
7.8 Comandos FTP................................................................
...............................................................9
1
Factor Evolución SA de CV http://www.linuxparatodos.net
Información de derechos reservados de esta publicación.

2
Factor Evolución SA de CV http://www.linuxparatodos.net

TEMA 7. SERVICIO FTP

3
Factor Evolución SA de CV http://www.linuxparatodos.net
7.0 Servidor FTP.
El Protocolo de Transferencia de Archivos (FTP) es un protocolo TCP, que nos per
mite subir ydescargar archivos, funciona según el modelo cliente/servidor. Esta co
ntinuamente escuchandopor el puerto 21 tcp para las peticiones de conexión de clie
ntes remotos, cuando recibe unapetición la gestiona, establece la conexión y ejecuta
las ordenes enviadas por el cliente.
El acceso a un servidor FTP puede hacerse de dos maneras:
.
anónimo.
.
Autenticado.
7.1 Instalación de vsftpd.
Existen una gran variedad de servidores FTP para GNU/Linux, pero se le elige vsf
tpd ya que muyfacil de configurar y es uno de servidores FTP mas seguros.
Para poder hacer la instalación del servidor vsftpd tendremos que hacer lo siguien
te.
root@server1:~#aptget
update

root@server1:~#aptget
install vsftpd

Ya que termine de descargar y instalar los paquetes tenemos que hacer varios pas
os para quefuncione nuestro servidor ftp.
7.2 Creación del grupo.
Ahora tenemos que crear un grupo el cual controle al servicio de vsftpd de la si
guiente manera:
root@server1:~#groupadd ftp

7.3 Creación del home.


Tenemos que crear el deposito o el home donde el usuario va alojar su información,
cuando elservidor vsftpd termina de instalarse crea una carpeta en home quedand
o de la siguiente manera/home/ftp, pero tu puedes tener tus usuarios en otras ru
tas como /var/ftp.
root@server1:~#mkdir /home/ftp/rodmen

7.4 Creación de shell FTP


Lo que haremos es crear un shell virtual o fantasma, para que los usuarios no pu
edan conectarsea una sesión del sistema operativo.
root@server1:~#mkdir /bin/ftp

5
Factor Evolución SA de CV
http://www.linuxparatodos.net
Ya que lo creamos,ahora tenemos que editar el siguiente archivo.
root@server1:~#vim /etc/shells

Agregar al final del archivo /etc/ftp.

/bin/bash

/bin/rbash

/bin/ftp

7.5 Creando usuarios FTP.


Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comand
o.
root@server1:~#useradd g
ftp d
/home/ftp/rodmen s
/bin/ftp rodmen

Tenemos que agregarle una contraseña a nuestro usuario creado.

root@server1:~#passwd rodmen

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

root@server1:~#

Ahora hay que darle permiso al usuario pueda ser el dueño de su deposito.

root@server1:~#cd /home/ftp

root@server1:~#chown rodmen.ftp rodmen/ R

7.6 Ficheros de configuración.


El servidor vsfptd tiene dos archivos muy importantes de configuración:
/etc/vsftpd.conf
Este es el archivo de configuración de
nuestro servidor ftp.

/etct/vsftpd.chroot_list
Lista de los usuarios que van estar
enjaulados.

7.7 Configuración de vsftpd


En este momento comenzaremos a configurar nuestro servidor vsftpd. Antes de se r
ecomiendoampliamente crear una copia de respaldo de archivo de configuración:
6
Factor Evolución SA de CV http://www.linuxparatodos.net

root@server1:~#cd /etc
root@server1:/etc#cp vsftpd.conf vsftpd.confori

Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf.

root@server1:/etc#vim vsftpd.conf

En el archivo tendremos que cambiar varios parámetros:


7.7.1 Parámetro anonymous_enable
Desactivar acceso a usuarios anónimos, para mayor seguridad.
anonymous_enable=NO

7.7.2 Parámetro local_enable


Permitir a los usuarios autenticados tener sus propias carpetas locales, le quit
amos la # para quese active.
#local_enable=YES
local_enable=YES

7.7.3 Parámetro write_enable


Permitir el modo de escritura en su carpeta, le quitamos el #.
#write_enable=YES
write_enable=YES

7.7.4 Parámetro local_umask


Permitimos la a través de este parámetro enmascararlo con algún permisos en especial a
lmomento de subir la información
#local_umask=000
local_umask=037

En este caso estamos indicándole al parámetro, va tener permisos de rwx para el usua
rio, r-- parael grupo y --- otro ningún permiso.
7.7.5 Enjaulando a los usuarios FTP.
Habilitamos el enjaulamiento de los usuarios dentro de su directorio personal y
también paraacceder a sus carpetas por FTP.
7
Factor Evolución SA de CV http://www.linuxparatodos.net

#chroot_local_user=YES
#chroot_list_enable=YES
chroot_local_user=YES
chroot_list_enable=YES

Habilitamos la siguiente linea que manda a llamar aun archivo, este archivo lo t
iene que crear ydentro de este agregar los cuentas de los usuario enjaulados.
#chroot_list_file=/etc/vsftpd.chroot_list
chroot_list_file=/etc/vsftpd.chroot_list

Al terminar de configurar el archivo de vsftpd.conf


root@server1:/etc# touch vsftpd.chroot_list
root@server1:/etc#echo rodmen >> vsftpd.chroot_list

7.7.6 Control del ancho de banda.


Se le pueden agregar mas opciones al final del archivo.
anon_max_rate=5100 #Ancho de banda para usuario anónimo 5kb.
local_max_rate=5100 #Ancho de banda por usuario local 5kb.
max_clients=3 #Numero máximo clientes conectados.
max_per_ip=2 #Numero máximo de conexiones por ip.

7.7.7 Reinicio del servidor FTP.


Solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios q
ue hemosrealizado al servidor.
root@server1:/etc#/etc/init.d/vsftpd restart

Stopping FTP server: vsftpd [OK]


Starting FTP server: vsftpd [OK]
8
Factor Evolución SA de CV http://www.linuxparatodos.net
7.8 Comandos FTP
Para poder utilizar ahora nuestro servidor FTP seria por medio de comandos, por
esto se muestrala lista de comando de ftp y su descripcion.
COMANDOS DESCRIPCION
Cambia de directorio dentro del servidor remoto
Cambia de directorio en el equipo local
Cambia el grupo de trabajo de un fichero remoto.
El [grp] tiene que ser un Group ID
Cambia los permisos de Lectura, Escritura o de
Ejecución a un fichero remoto
Cambia el grupo de trabajo de un fichero remoto.
El [own] tiene que ser un User ID
Copia un recurso remoto en un equipo local
Crea una carpeta en el equipo local
Imprime la ruta local en la cual estamos
trabajando
Crea una carpeta en el equipo remoto
Sube un fichero o archivo desde una ruta local
hasta una ruta remota
Imprime la ruta remota en la cual estamostrabajando
Salimos de SFTP
Renombra un un fichero remoto
Borra una carpeta remota
Borra un fichero remoto
cd [rutaRemota]
lcd [rutaLocal]
chgrp [grp] [rutaRemota]

chmod [opciones] [rutaRemota]

chown [own] [rutaRemota]

get [rutaRemota] [rutaLocal]


lmkdir [rutaLocal]
lpwd

mkdir [rutaRemota]
put [rutaLocal] [rutaRemota]

pwd

exit
rename [rutaLocal] [rutaRemota]
rmdir [rutaRemota]
rm [rutaRemota]