Cómo configurar el servidor FTP en Debian 9 Stretch Linux
- 885
- 148
- Claudia Baca
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 ..
- « Raspbian Gnu/Linux Actualización de Jessie a Raspbian Stretch 9
- Recupere una contraseña de root olvidada en el sistema Redhat 7 Linux Selinux »