Cree un servicio FTP basado en ECS
1. Creación de recursos
-
Aquí puede utilizar directamente el servidor gratuito proporcionado por Alibaba Cloud, haga clic en [Activación gratuita]
-
Puede ver que nos proporciona un nombre de usuario, contraseña y dirección IP, luego solo necesita iniciar sesión en el servidor remoto
2. Conéctese al servidor ECS de forma remota
- Aquí utilizo el software Xshell para conectarme (Xshell sigue siendo muy conveniente de usar, puede descargarlo usted mismo o usar otro software para conectarse)
- Después de iniciar sesión correctamente de la siguiente manera:
3. Instale vsftpd
vsftpd (demonio FTP muy seguro): servidor FTP
- Acceso anónimo: cualquier usuario puede acceder al servicio FTP integrado
- Modo de usuario local: solo admite usuarios locales agregados para acceder al servicio FTP integrado
-
Comando de instalación
yun install -y vsftpd
-y indica que durante el proceso de instalación, se le pedirá que seleccione todo "sí"
- La instalación es exitosa si se muestra lo siguiente
- La instalación es exitosa si se muestra lo siguiente
-
Configurar el servicio FTP para que se inicie automáticamente
- mando:
systemctl enable vsftpd.service
- Si se muestra lo siguiente, la configuración es correcta:
- mando:
-
Iniciar el servicio FTP
- mando:
systemctl start vsftpd.service
- Nada se muestra es éxito
- mando:
-
Ver el puerto monitoreado por el servicio FTP
- mando:
netstat -antup | grep ftp
- Como puede ver, se ha iniciado el servicio FTP y el número de puerto de escucha es 21
- mando:
En este punto, vsftpd tiene la función de acceso anónimo habilitada de forma predeterminada.Puede iniciar sesión en el servidor FTP sin ingresar un nombre de usuario y contraseña, pero no hay permiso para modificar o cargar archivos.
4. Configurar vsftpd
- Se ha descrito anteriormente el servicio vsftpd allí
匿名用户模式
y本地用户模式
dos formas de acceso, echemos un vistazo a la configuración de estos dos enfoques.
4.1 Modo de usuario anónimo
-
Modificar el archivo de configuración
vsftpd.conf
-
mando:
vim /etc/vsftpd/vsftpd.conf
Todo el mundo debe estar familiarizado con vim, los estudiantes que no saben cómo encontrar un tutorial en Internet para aprender el funcionamiento básico.
-
Primero encontramos
anon_upload_enable=YES
(permiso de carga anónimo) esta línea, procedemos como yo y editamos, cancelamos sus comentarios, y luego presionamos la tecla ESC para salir del modo de edición, ingresamos:wq
para guardar y salir
-
-
Cambie los permisos del directorio / var / ftp / pub y agregue permisos de escritura para usuarios de FTP
- mando:
chmod o+w /var/ftp/pub/
- Después de ejecutar de la siguiente manera
- mando:
-
Reiniciar el servicio FTP
- mando:
systemctl restrat vsftpd.service
- mando:
-
Después de la configuración, lo visitamos a través del navegador, abrimos el navegador e ingresamos la URL
ftp://<FTP服务器公网IP地址>:FTP端口
, por ejemplo, la dirección que visité esftp://139.196.209.227:21
. Como puede ver, podemos acceder sin ingresar un nombre de usuario y contraseña. Los resultados del acceso son los siguientes:
4.2 Modo de usuario local
4.2.1 Creación de directorio de archivos y usuarios
-
Cree un usuario de Linux para el servicio FTP
- mando:
adduser ftptest
- mando:
-
Establezca una contraseña para el usuario que acaba de crear
-
mando:
passwd ftptest
-
No se muestra en la pantalla para protección de seguridad al ingresar la contraseña
-
-
Cree un directorio de archivos para el servicio FTP
- mando:
mkdir /var/ftp/test
- mando:
-
Cambie el propietario del directorio / var / ftp / test a ftptest [el usuario que acaba de crear]
- mando:
chown -R ftptest:ftptest /var/ftp/test
- mando:
4.2.2 configuración del archivo vsftpd.conf [modo activo o modo pasivo]
Antes de configurar, aprenda sobre el modo activo y el modo pasivo
- Modo activo: el puerto de datos 20 del servidor se conecta activamente al puerto de datos del cliente [beneficioso para la gestión del servidor FTP pero no para la gestión del cliente]
- Modo pasivo: el cliente se conecta activamente al puerto 20 del servidor [Es beneficioso para la gestión del cliente FTP pero no para la gestión del servidor]
4.2.2.1 Modo activo
-
El comando es el siguiente, simplemente cópielo y ejecútelo.
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录
4.2.2.2 Modo pasivo
-
El comando es el siguiente
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录 echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值
4.2.3 Lista de usuarios excepcionales
- Cree un archivo chroot_list en el directorio / etc / vsftpd y escriba una lista de usuarios de excepción en el archivo
- mando:
vim /etc/vsftpd/chroot_list
- Use el comando vim para editar
chroot_list
el archivo, agregue la lista de excepciones del usuario. Los usuarios de esta lista no estarán bloqueados en el directorio de inicio y podrán acceder a otros directorios.
- mando:
Nota: Cuando no hay usuarios de excepción, el archivo chroot_list también debe crearse y el contenido puede estar vacío.
- Finalmente reinicie el servicio FTP
- mando:
systemctl restart vsftpd.service
- mando:
4.2.4 Prueba
-
Del mismo modo, escribimos en el navegador y
ftp://<FTP服务器公网IP地址>:FTP端口
la dirección que visité fueftp://139.196.209.227:21
. Se puede ver en el caso que esté configurado en un modo de usuario local, necesitamos ingresar un nombre de usuario y contraseña antes de acceder, ingresamos el usuario recién creadoftptest
y configuramos su propia contraseña para acceder bien
-
Una vez que el inicio de sesión es exitoso, la interfaz es la siguiente, en este momento podemos operar el archivo FTP con los permisos correspondientes