Cómo configurar el servidor FTP en Debian 9 Stretch Linux

Cómo configurar el servidor FTP en Debian 9 Stretch Linux

Objetivo

El objetivo es instalar y configurar el servidor FTP en Debian 9 Stretch Linux, lo que permite el acceso al usuario anónimo o local.

Sistema operativo y versiones de software

  • Sistema operativo: - Debian 9 estiramiento
  • Software: - VSFTPD versión 3.0.3

Requisitos

Acceso privilegiado a

Dificultad

MEDIO

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instrucciones

El siguiente tutorial explicará cómo instalar y configurar el servidor FTP utilizando VSFTPD demonio. También discutirá varias configuraciones para permitir el acceso de escritura o solo lectura al usuario anónimo, así como a los usuarios locales.

instalación de VSFTPD

Comencemos por el servidor VSFPTD y la instalación del cliente FTP:

# instalación apt vsftpd ftp 

De forma predeterminada, el servidor VSFTPD viene configurado para permitir a los usuarios del sistema acceder a sus directorios de inicio con acceso de solo lectura. El siguiente es un archivo de configuración VSFTPD predeterminado /etc/vsftpd.confusión:



escuchar = no escuchar_IPV6 = sí anónimo_enable = no local_enable = yes dirmessage_enable = sí use_localtime = yes xferlog_enable = yes conecte_from_port_20 = yes secure_chroot_dir =/var/run/vsftpd/vacía pam_service_name = vsftpd rsa_cert aceite de serpiente.PEM RSA_PRIVATE_KEY_FILE =/ETC/SSL/PRIVEST/SSL-CERT-SNAKEOIL.clave ssl_enable = no 

Como ya se mencionó, el archivo de configuración anterior solo otorgará un acceso de solo lectura a cualquier usuario del sistema enumerado en /etc/passwd archivo. Usar ftp comando e intentar conectarse usando el nombre de usuario y la contraseña de cualquiera de los usuarios del sistema local:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (localhost: root): LinuxConfig 331 Especifique la contraseña. Contraseña: 230 Iniciar sesión exitoso. El tipo de sistema remoto es unix. Usando el modo binario para transferir archivos. ftp> poner archivo.Txt local: archivo.Txt Remote: archivo.TXT 200 EPRT Comando exitoso. Considere usar EPSV. 550 permiso denegado. 

Si solo necesita acceso de solo lectura por parte de sus usuarios locales, ha terminado.



Permitir acceso de escritura de usuario

Para agregar acceso de escritura para todo el sistema, el usuario local de usuario local o agregar la siguiente estrofa write_enable = sí. El nuevo archivo de configuración consta de:

escuchar = no escuchar_IPV6 = sí anónimo_enable = no local_enable = yes dirmessage_enable = sí use_localtime = yes xferlog_enable = yes conecte_from_port_20 = yes secure_chroot_dir =/var/run/vsftpd/vacía pam_service_name = vsftpd rsa_cert aceite de serpiente.PEM RSA_PRIVATE_KEY_FILE =/ETC/SSL/PRIVEST/SSL-CERT-SNAKEOIL.clave ssl_enable = no write_enable = sí 

A continuación, reinicie su VSFTPD:

# SystemCTL reiniciar VSFTPD 

Realizar una nueva prueba con ftp Comando para confirmar el acceso a la escritura:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (localhost: root): LinuxConfig 331 Especifique la contraseña. Contraseña: 230 Iniciar sesión exitoso. El tipo de sistema remoto es unix. Usando el modo binario para transferir archivos. ftp> poner archivo.Txt local: archivo.Txt Remote: archivo.TXT 200 EPRT Comando exitoso. Considere usar EPSV. 150 OK para enviar datos. 226 Transferencia completa. FTP> LS 200 EPRT Comando exitoso. Considere usar EPSV. 150 aquí viene la lista de directorio. -RW ------- 1 1000 1000 0 Jun 07 12:45 Archivo.TXT 226 Directorio Enviar OK. 


Permitir usuarios específicos solamente

En este momento, nuestro servidor FTP permite el acceso a cualquier usuario del sistema definido dentro de /etc/passwd archivo. Para permitir que solo usuarios específicos puedan iniciar sesión, podemos incluir las siguientes líneas en nuestro archivo de configuración:

userlist_file =/etc/vsftpd.UserList userList_enable = sí 

Lo anterior habilitará una lista de usuarios predefinida donde cualquier usuario enumerado dentro de /etc/vsftpd.Lista de usuarios (un nombre de usuario por línea) tendrá acceso a FTP denegado, mientras que todos los demás usuarios del sistema podrán iniciar sesión. Creemos un nuevo /etc/vsftpd.Lista de usuarios Lista de usuarios que consta de un solo usuario LinuxConfig:

# echo linuxconfig> /etc /vsftpd.Lista de usuarios 

Reiniciar el servidor VSFTPD:

# SystemCTL reiniciar VSFTPD 

Realizar una nueva prueba con ftp comando para confirmar el acceso denegado al servidor FTP para LinuxConfig usuario:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (localhost: raíz): Linuxconfig 530 permiso denegado. error de inicio de sesion. FTP> 

Sin embargo, si necesita poder iniciar sesión solo con usuarios definidos dentro de /etc/vsftpd.Lista de usuarios, Agregue la siguiente opción de configuración userlist_deny = no en su archivo de configuración VSFTPD /etc/vsftpd.confusión. A continuación se muestra nuestro actual /etc/vsftpd.confusión archivo de configuración:

escuchar = no escuchar_IPV6 = sí anónimo_enable = no local_enable = yes dirmessage_enable = sí use_localtime = yes xferlog_enable = yes conecte_from_port_20 = yes secure_chroot_dir =/var/run/vsftpd/vacía pam_service_name = vsftpd rsa_cert aceite de serpiente.PEM RSA_PRIVATE_KEY_FILE =/ETC/SSL/PRIVEST/SSL-CERT-SNAKEOIL.clave ssl_enable = no write_enable = sí userlist_file =/etc/vsftpd.UserList userList_enable = sí userlist_deny = no 


Permitir anónimos

En esta etapa también vamos a permitir el acceso de solo lectura por usuarios anónimos. Comencemos a crear un nuevo directorio que se utilizará como directorio raíz para el usuario anónimo, por ejemplo,. /var/ftp. Para fines de prueba, también podemos colocar un archivo de prueba arbitrario dentro de /var/ftp:

# mkdir/var/ftp/ # chmod 555/var/ftp/ # chown ftp.ftp/var/ftp/ # touch/var/ftp/anonymous.TXT 

Además, incluya las siguientes líneas en /etc/vsftpd.confusión archivo de configuración para definir el directorio de inicio anónimo y el acceso anónimo:

anon_root =/var/ftp anónimo_enable = sí 

Opcionalmente, agregue no_anon_password = sí Línea para instruir a VSFTPD para permitir que el usuario anónimo inicie sesión automáticamente sin la contraseña. Dado que ahora hemos definido la lista de usuarios, también debemos agregar el anónimo usuario de la lista:

# echo anónimo >> /etc /vsftpd.UserList # Cat /Etc /VSFTPD.UserList LinuxConfig Anónimo 

Como suele reiniciar su servidor FTP y realizar una validez de su configuración actual:

# SystemCTL reiniciar VSFTPD 

Pruebe el inicio de sesión anónimo:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (Localhost: Root): Anónimo 230 Iniciar sesión exitoso. El tipo de sistema remoto es unix. Usando el modo binario para transferir archivos. FTP> LS 200 EPRT Comando exitoso. Considere usar EPSV. 150 aquí viene la lista de directorio. -RW-R-R-- 1 0 0 0 Jun 07 13:29 Anónimo.TXT 226 Directorio Enviar OK. FTP> 

A continuación puede encontrar nuestro archivo de configuración VSFTPD actual:

escuchar = no escuchar_IPV6 = sí anónimo_enable = no local_enable = yes dirmessage_enable = sí use_localtime = yes xferlog_enable = yes conecte_from_port_20 = yes secure_chroot_dir =/var/run/vsftpd/vacía pam_service_name = vsftpd rsa_cert aceite de serpiente.PEM RSA_PRIVATE_KEY_FILE =/ETC/SSL/PRIVEST/SSL-CERT-SNAKEOIL.Key ssl_enable = no write_enable = sí userlist_file =/etc/vsftpd.UserList userList_enable = sí userlist_deny = no anon_root =/var/ftp anónimo_enable = sí no_anon_password = sí 


Habilitar el acceso a la escritura anónima

A continuación, permitamos que el usuario anónimo cargue archivos y cree nuevos directorios y más. Para hacerlo, cree un nuevo directorio subir dentro de /var/ftp directorio:

# mkdir/var/ftp/upload # chown ftp.ftp/var/ftp/upload/ 

A continuación, agregue las siguientes líneas a su archivo de configuración VSFTPD:

anon_upload_enable = yes anon_other_write_enable = yes anon_mkdir_write_enable = sí 

Reinicie su servidor:

# SystemCTL reiniciar VSFTPD 

Después de reiniciar el usuario anónimo podrá cargar archivos, cree directorios de cambio de archivos:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (Localhost: Root): Anónimo 230 Iniciar sesión exitoso. El tipo de sistema remoto es unix. Usando el modo binario para transferir archivos. FTP> LS 200 EPRT Comando exitoso. Considere usar EPSV. 150 aquí viene la lista de directorio. -RW-R-R-- 1 0 0 0 Jun 07 13:29 Anónimo.Txt DRWXR-XR-X 2 108 112 4096 Jun 07 13:57 Subir 226 Directorio Enviar OK. FTP> CD Subir 250 Directorio cambiado correctamente. ftp> poner archivo.Txt local: archivo.Txt Remote: archivo.TXT 200 EPRT Comando exitoso. Considere usar EPSV. 150 OK para enviar datos. 226 Transferencia completa. FTP> LS 200 EPRT Comando exitoso. Considere usar EPSV. 150 aquí viene la lista de directorio. -RW ------- 1 108 112 0 Jun 07 13:57 Archivo.TXT 226 Directorio Enviar OK. FTP> Cambiar el nombre del archivo.Txt nuevo.Txt 350 listo para rnto. 250 Cambiar nombre exitoso. FTP> LS 200 EPRT Comando exitoso. Considere usar EPSV. 150 aquí viene la lista de directorio. -RW ------- 1 108 112 0 Jun 07 13:57 Nuevo.TXT 226 Directorio Enviar OK. FTP> 

A continuación puede encontrar nuestro archivo de configuración final VSFTPD:

escuchar = no escuchar_IPV6 = sí anónimo_enable = no local_enable = yes dirmessage_enable = sí use_localtime = yes xferlog_enable = yes conecte_from_port_20 = yes secure_chroot_dir =/var/run/vsftpd/vacía pam_service_name = vsftpd rsa_cert aceite de serpiente.PEM RSA_PRIVATE_KEY_FILE =/ETC/SSL/PRIVEST/SSL-CERT-SNAKEOIL.Key ssl_enable = no write_enable = sí userlist_file =/etc/vsftpd.UserList userList_enable = sí userlist_deny = no anon_root =/var/ftp anónimo_enable = yes no_anon_password = sí anon_upload_enable = yes anon_other_write_enable = yes anon_mkdir_write_enable = sí 

Apéndice

Mensaje de error:

# FTP localhost conectado a localhost. 220 (VSFTPD 3.0.3) Nombre (localhost: raíz): anónimo 500 oops: vsftpd: negarse a ejecutar con raíz de escritura dentro de chroot () inicio de sesión fallido. FTP> 

Lo anterior indica que tu anon_root El directorio es escrito. La solución es hacerlo de solo solo lectura. Ejemplo:

# CHMOD 555 /VAR /FTP 

Alternativamente, intente agregar la siguiente línea a su archivo de configuración VSFTPD:

tOmod_writable_chroot = sí 

Tutoriales de Linux relacionados:

  • Configurar servidor FTP en Linux
  • Cosas para instalar en Ubuntu 20.04
  • Cómo configurar VSFTPD en Debian
  • Cómo configurar el servidor FTP/SFTP y el cliente en Almalinux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Cosas para instalar en Ubuntu 22.04
  • Descarga de Linux
  • Lista e instalación de clientes FTP en Ubuntu 22.04 Linux ..