how to vsftpd UBUNTU

Hola buenas vamos a aprender a montar 1 servidor FTP en ubuntu, en este caso vamos a montar vsftpd.

Primero instalamos el paquete, para ello abrimos una consola y tecleamos:

sudo apt-get install vsftpd

ftp1-logo.png

Bueno ya que está instalado debemos de saber loa archivos de configuración que tenemos para este programa y son 2:

-/etc/vsftpd.user_list es el fichero de configuración de usuarios, carpetas, etc.
-/etc/vsftpd.conf es el fichero de configuración general.

Vamos a realizar una configuración predeterminada fácil para ello editamos el archivo: vsftpd.conf

sudo gedit /etc/vsftpd.conf

Y cambiamos estos parámetros:

# Habilitar el acceso a usuarios anónimos. Para mayor seguridad poner NO.
anonymous_enable=NO
# Permitir el acceso de usuarios locales a sus respectivas carpetas, quitamos la # (descomentamos):
local_enable=YES
# Permitir el modo escritura, quitamos la # (descomentamos):
write_enable=YES
# Mascara del directorio, quitamos la # (descomentamos):
local_umask=022
# Mensaje cuando se conecta alguien, descomentamos y ponemos lo que queramos.
ftpd_banner=Bienvenidos al Servidor FTP de prueba para Zoneros D By Monino.
# Enjaula a los usuarios dentro de su propio directorio personal. Mejora la seguridad.
chroot_local_user=YES
# Para que los usuarios sólo puedan acceder a las carpetas del FTP y no a todo el sistema.
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list

Otras opciones interesantes:


#opciones de transferencia
#ancho banda por usuario anónimo 5kb
anon_max_rate=5100
#ancho de banda por usuario local 5kb
local_max_rate=5100
#número máximo clientes simultáneos
max_clients=5
#máximo conexiones por ip
max_per_ip=2

Cada usuario del sistema accedería a su carpeta personal, pero también podemos crear usuarios para el ftp y asignarle 1 carpeta, por ejemplo, vamos
a crear 2 usuarios:

Usuario: Zonero1
Acceso a su directorio: /home/ftp/zonero1
Sin shell en el sistema y en un entorno chroot

Usuario: Moderador
Acceso a su directorio: /home/ftp
Sin shell en el sistema y en un entorno chroot

Creamos las carpetas de los usuarios:


sudo mkdir /home/ftp/zonero1

Nota: /home/ftp ya lo crea al instalar el servidor ftp.

Antes de instalar el servidor ftp vamos a crear los usuarios y securizarlos para que tengan los mínimos permisos y sólo puedan hacer lo que nosotros definamos.

Crearemos un grupo llamado ftp al cual asociaremos los usuarios.


sudo groupadd ftp

Creamos los usuarios con sus correspondientes características.


sudo useradd -g ftp -d /home/ftp/zonero1 -c ” zonero1 ” zonero1
sudo useradd -g ftp -d /home/ftp/ -c ” moderador ” moderador

Asignamos contraseñas a los usuarios si no nunca conectarían:


sudo passwd zonero1

escribimos la contraseña, la repetimos y hacemos lo mismo para moderador.

Ahora creamos una shell fantasma en el directorio correspondiente.


sudo mkdir /bin/ftp

Editamos el fichero /etc/shells y la añadimos en la ultima línea “/bin/ftp” y guardamos:


sudo gedit /etc/shells

Editamos el fichero /etc/passwd y buscamos las líneas donde están definidos los usuarios que hemos creado antes y les añadimos el shell falso:


zonero1:x:1001:1001: zonero1 :/home/ftp/zonero1:/bin/sh
moderador:x:1002:1001: moderador :/home/ftp/:/bin/sh

pasaría a ser:


zonero1:x:1001:1001: zonero1 :/home/ftp/zonero1:/bin/ftp
moderador:x:1002:1001: moderador :/home/ftp/:/bin/ftp

Ahora vamos a crear el fichero de usuarios:


sudo gedit /etc/vsftpd.chroot_list

Y añadimos los usuarios.

ftp2-logo.png

Reiniciamos el FTP


sudo /etc/init.d/vsftpd restart

Probamos a conectarnos, en este caso usamos Filezilla como cliente FTP, podeis instalarlo desde “Añadir o Quitar”:

ftp3-logo.jpg

Ole! Muy Contento como veis conecta y nos lista los directorios de nuestra carpeta principal y no podemos acceder a las demás.

Probamos con un usuario creado para el FTP.

5 comments

  1. a que caray jajaja fijate que yo tambien tengo los mismos proyectos que tu solamente me falta la nat de iptables :s y ya no tengo mas inquietudes por ahora
    weno si el postfix
    esta shido tu blog saludos

  2. saludos men… buen post… ayudame xq llegue hasta la creacion de usuarios… al momento que los quiero crear no puedo….. sigo las instrucciones de tu post… y pongo sudo useradd -g ftp -d /home/ftp/zonero1 -c ” zonero1 ” zonero1, pero no se crea el usuario…. y por ende no puedo avanzar….

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s