fuente original: https://help.ubuntu.com/lts/serverguide/ftp-server.html
servidor FTP
FTP, File Transfer Protocol, Protocolo de transferencia de archivos es la descarga de archivos entre ordenadores para el protocolo TCP. protocolo FTP también se utiliza para cargar antes, sino porque el acuerdo no utiliza codificación, las credenciales de texto sin formato y datos de usuario se puede interceptar fácilmente. Si usted quiere encontrar una manera de cargar archivos de descarga segura, se puede ver la gestión remota sección de OpenSSH.
FTP al 客户端/服务端
modo de funcionamiento. componente de servidor se llama demonio FTP (FTP demonio), que seguirá de cerca las peticiones FTP de los clientes. A petición, se valida la configuración de inicio de sesión y conexión. Durante la conversación, ejecutará los comandos enviados por el cliente FTP.
Puede establecer dos formas de acceder al servidor FTP:
- anónimo
- Autenticar
En el modo anónimo, los clientes pueden usar el nombre anonymous
o la ftp
cuenta predeterminada de acceso al servidor FTP, usando la dirección de correo electrónico como contraseña. En el modo de autenticación, el usuario debe tener una cuenta y contraseña. El modo de autenticación real no es seguro (credenciales y los datos transmitidos en texto claro), a menos que circunstancias especiales, o no se debe utilizar. Si desea transferir archivos de forma segura, se puede ver el OpenSSH-servidor SFTP. permisos de cuenta de usuario en función de la entrada tiene acceso a los directorios y archivos del servidor FTP. Por lo general, demonio FTP ocultará el directorio raíz del servidor FTP y en su lugar utilizar directorio principal de FTP. Esto ocultará el resto del sistema de archivos en una sesión remota.
vsftpd - Instalación de servidor FTP
Ubuntu se utiliza comúnmente demonio FTP vsftpd, es fácil de instalar, configurar y mantener. Para instalar vsftpd, puede ejecutar el siguiente comando:
sudo apt install vsftpd
configuración FTP anónimo
Por defecto, vsftpd configurado para no permitir la descarga en el anonimato. Si desea habilitar la descarga en el anonimato, puede editar /etc/vsftpd.conf
:
anonymous_enable=Yes
En el proceso de instalación vsftpd crea un nombre ftp
de usuario y el directorio personal del usuario es /srv/ftp
, este es el directorio FTP predeterminado.
Si desea modificar el directorio FTP predeterminado, por ejemplo, el cambio /srv/files/ftp
, sólo tiene que crear este directorio y cambiar el directorio personal del usuario ftp:
sudo mkdir /srv/files/ftp
sudo usermod -d /srv/files/ftp ftp
Después de modificar la configuración surta efecto reiniciar vsftpd:
sudo systemctl restart vsftpd.service
Ahora, se puede poner cualquier archivo o archivos que desea compartir la carpeta copiada en el directorio principal del usuario, ftp, pequeños amigos pueden ser visitados por FTP anónimo.
Configuración de la autenticación FTP
Por defecto, vsftpd está configurado para sólo los usuarios autenticados pueden descargar el archivo. Si desea que los usuarios sean capaces de cargar un archivo, puede editar /etc/vsftpd.conf
:
write_enable=YES
Necesidad de reiniciar vsftpd configuración tenga efecto:
sudo systemctl restart vsftpd.service
Ahora, cuando los usuarios accedan a FTP, puede hacerlo en su directorio personal, descargar, cargar, crear directorios y otras operaciones.
Por defecto, vsftpd no permite a usuarios anónimos cargar archivos al servidor FTP. Para modificar esta configuración, debe descomentar la línea siguiente en el archivo de configuración y reiniciar vsftpd:
anon_upload_enable=YES
Permitir anónimos carga FTP será un gran riesgo para la seguridad. Si el servidor se puede acceder directamente desde Internet, lo mejor es no habilitar cargas anónimas.
El archivo de configuración contiene una gran cantidad de parámetros de configuración. Información sobre cada uno de los parámetros en el archivo de configuración tiene una descripción. Página también puede comprobar el hombre, man 5 vsftpd.conf
para informarse sobre cada parámetro.
FTP seguro
/etc/vsftpd.conf
Hay algunas opciones en el fichero de configuración pueden hacer que vsftpd más seguro. Por ejemplo, se puede restringir a los usuarios eliminando el comentario de la siguiente línea sólo se puede acceder al directorio de inicio:
chroot_local_user=YES
También puede limitar una lista específica de los usuarios sólo pueden acceder a sus directorios de inicio:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Después de la retirada de las dos líneas de comentario, crear un /etc/vsftpd.chroot_list
archivo, escriba un nombre de usuario por línea, y vsftpd restart:
sudo systemctl restart vsftpd.service
Además, /etc/ftpusers
los archivos pueden ser registrados en la lista de usuarios permitidos para el acceso FTP. La lista predeterminada incluye root
, daemon
, nobody
y así sucesivamente. Para deshabilitar el acceso FTP para otros usuarios, sólo tiene que añadir a la lista.
FTP también puede ser encriptado utilizando FTPS. Con diferentes SFTP, FTPS Secure FTP basa Sockets Layer (SSL, Secure Socket Layer) es. FTP SFTP conoce como una conexión basada en una sesión SSH encriptado. Una diferencia importante es que los usuarios SFTP necesita tener una cuenta shell en el sistema, en lugar de la cáscara nologin. Puede que no sea la opción ideal para proporcionar algún entorno de shell a todos los usuarios (por ejemplo, servidores de Internet compartidos). Sin embargo, dichas cuentas todavía se pueden restringir a solamente SFTP y desactivar shell interactivo. Para obtener más información, ver el OpenSSH-Server.
Para FTPS configure, puede editar /etc/vsftpd.conf
, añadir al final:
ssl_enable=Yes
También es necesario agregar el certificado y las opciones relacionadas clave:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Por defecto, estas opciones se pueden configurar para el certificado y la clave proporcionada por el paquete ssl-cert. En un entorno de producción, estos certificados deben reemplazarse con la clave generada y certificado para un huésped particular. Para obtener más información acerca de los certificados, se puede ver el certificado .
Ahora vsftpd restart, los usuarios no anónimos se verán obligados a utilizar FTPS:
sudo systemctl restart vsftpd.service
Haber permitido que /usr/sbin/nologin
los usuarios de concha acceso FTP, pero no permite el acceso shell, puede editar /etc/shells
complemento nologin shell:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Esto es necesario porque por defecto, vsftpd usa PAM para la autenticación y el /etc/pam.d/vsftpd
archivo de configuración contiene:
auth required pam_shells.so
conchas Pam restricciones módulo de /etc/shell
acceso al archivo que aparece en la cáscara.
La mayoría de los clientes FTP más utilizados se pueden configurar para conexiones de uso FTPS. lftp línea de comandos cliente FTP puede utilizar FTPS.
cita
- Para obtener información más detallada, consulte la página web vsftpd .
- Para la opción más detallada /etc/vsftpd.conf, se puede ver el hombre vsftpd.conf página .