Cómo instalar el servidor FTP de configuración en ubuntu
Primero, consideremos en qué debe centrarse al crear un servicio FTP. Por ejemplo, a lo que prestamos más atención es:
1. ¿Cómo agregar usuarios de FTP?
2. ¿Cómo congelar temporalmente a los usuarios de FTP?
3. ¿Cuál es el directorio predeterminado para los usuarios de FTP después de iniciar sesión? ¿Se puede cambiar?
4. ¿Cómo bloquear el rango de directorio al que pueden acceder los usuarios de FTP?
5.¿Qué derechos de acceso tienen los usuarios de FTP? ¿Puedo subir archivos?
Con estas preguntas en mente, discutiremos cómo configurar VSFTP para lograr los objetivos deseados.
I. Principales opciones de configuración
El archivo de configuración principal de VSFTP es /etc/vsftpd.conf
. Dado que hay demasiadas opciones configurables para describirlas en detalle, solo podemos centrarnos en las funciones más utilizadas para explicar las opciones de configuración. Consulte man
vsftpd.conf para obtener una descripción completa.
Cabe señalar que cada opción de configuración está definida por "nombre del elemento de configuración = valor de configuración". Cada variable de configuración va seguida de un signo igual y luego el valor de la variable que se está configurando. No se permiten espacios u otros delimitadores; de lo contrario, la configuración será incorrecta y no tendrá efecto.
Además, si necesita habilitar la función de carga, debe tener en cuenta que el usuario del sistema local utilizado para iniciar sesión en FTP debe tener permisos de escritura en el directorio a operar; de lo contrario, el archivo no se puede subido!
Versión vsftpd: 2.0.6
Iniciar VSFTPD: sudo /etc/init.d/vsftpd start
Detener VSFTPD: sudo /etc/init.d /vsftpd stop
Reinicie VSFTPD: sudo /etc/init.d/vsftpd restart
Las siguientes son opciones de configuración comúnmente utilizadas:
1.
Si se establece en "SÍ", se habilitará la monitorización de red.
2.anonymous_enable
Si se establece en "SÍ", se permite el acceso de usuarios anónimos; si se establece en "NO", se deniega el acceso de usuarios anónimos.
Si está habilitado, el acceso está disponible mediante nombre de usuario ftp o anónimo y cualquier contraseña.
3.local_enable
Si se establece en "Sí", se permite el acceso a través de la cuenta de usuario local; si se establece en "No", se deniega el acceso a través de la cuenta de usuario local. Si niega el acceso a extraños, debe configurarlo en "SÍ", de lo contrario, ¿quién puede acceder a su FTP?
4. write_enable
Si está configurado en "Sí", se puede habilitar el acceso de escritura global FTP; si está configurado en "No", no se puede habilitar.
Si se establece en "NO", todos los usuarios de FTP no podrán escribir, ni crear, modificar, eliminar archivos, directorios, etc. En otras palabras, ¡los usuarios no podrán cargar archivos!
5.anon_upload_enable
Si se establece en "Sí", anon_upload_enable habilitará permisos de carga para usuarios anónimos. El requisito previo es que write_enable esté habilitado y que el usuario tenga permisos de escritura en el directorio actual.
Si se establece en "No", los permisos de carga para usuarios anónimos están deshabilitados.
6. anon_mkdir_write_enable
Si se establece en "Sí", abre el permiso para que los usuarios anónimos creen nuevos directorios.
El requisito previo es que write_enable esté habilitado y que el usuario tenga permisos de escritura en el directorio actual.
Si se establece en "No", desactiva la capacidad de los usuarios anónimos de crear nuevos directorios.
7.dirmessage_enable
Si lo configura en "Sí", puede habilitar la inserción de información del directorio, es decir, los usuarios pueden iniciar sesión en FTP para enumerar archivos y directorios en el directorio actual. directorio. ¡Esta opción debería estar activada!
8. xferlog_enable
Si se establece en "sí", se habilitará el registro de inicios de sesión, cargas, descargas y otros eventos. ¡Debería estar habilitado!
9. xferlog_file=/var/log/vsftpd.log
Especifique el archivo de registro predeterminado u otros archivos.
10. xferlog_std_format
Si se establece en "sí", se habilita el formato de registro ftpd estándar. No es necesario que esté habilitado.
11. connect_from_port_20
Si se establece en "Sí", el puerto del servidor se establecerá en 20.
Si no desea utilizar el puerto 20, también puede especificar el número de puerto a través de ftp_data_port.
12.chown_uploads
Si se establece en "Sí", el sistema cambiará automáticamente el propietario del archivo después de que un usuario anónimo lo cargue.
Para habilitar esta función, chown_username=quien también necesita especificar un usuario específico para usarlo como propietario después de que el usuario anónimo cargue el archivo.
13, idle_session_timeout=600
Tiempo de espera para usuarios inactivos, la conexión se interrumpirá después del tiempo de espera.
14, data_connection_timeout=120
Tiempo de espera de conexión de datos.
15, ftpd_banner=Bienvenido al blah FTP
servicio.
Mensaje que se muestra cuando los usuarios de FTP inician sesión.
16. local_root=/home/ftp
Especifique un directorio como directorio predeterminado para que cada usuario del sistema local inicie sesión.
17. anon_root=/home/ftp
Especifique un directorio como directorio predeterminado para el inicio de sesión de usuarios anónimos.
18. chroot_local_user, chroot_list_enable, chroot_list_file
Esta combinación se utiliza para indicar si el usuario puede cambiar a un directorio distinto al directorio predeterminado.
El archivo chroot_list_file por defecto es /etc/vsftpd.chroot_list, que define una lista de usuarios.
Si chroot_local_user
está configurado en "NO" y chroot_list_enable está configurado en "NO", todos los usuarios pueden salir del directorio predeterminado.
Si chroot_local_user
está configurado en "YES" y chroot_list_enable está configurado en "NO", el usuario de inicio de sesión FTP quedará excluido del directorio predeterminado y no podrá cambiar. a este directorio afuera.
Si chroot_local_user
está configurado en "YES" y chroot_list_enable está configurado en "YES", entonces la lista de usuarios en el archivo especificado por chroot_list_file puede acceder a directorios distintos del directorio predeterminado y la lista Los usuarios externos están restringidos a sus directorios predeterminados.
Si chroot_local_user se establece en "No" y chroot_list_enable se establece en "Sí", la lista de usuarios en el archivo especificado por chroot_list_file se restringirá a sus respectivos directorios predeterminados, y los usuarios fuera de la lista se restringirán a sus respectivos directorios predeterminados. Se puede acceder a otro directorio que no sea el predeterminado.
Configuración recomendada: establezca chroot_local_user y chroot_list_enable en "Sí", de modo que solo la lista de usuarios en el archivo especificado por chroot_list_file pueda acceder a directorios distintos al directorio predeterminado, y los usuarios fuera de la lista solo puedan acceder a sus respectivos directorios predeterminados.
Ventajas: Todo el mundo sólo puede acceder a directorios específicos. Si algunos usuarios específicos necesitan acceso a otros directorios, simplemente escriba sus nombres de usuario en el archivo chroot_list_file y les dará acceso a otros directorios.
19. userlist_file, userlist_enable, userlist_deny
Esta combinación se utiliza para indicar si el usuario puede acceder al servicio FTP.
El archivo userlist_file por defecto es /etc/vsftpd.user_list, que define la lista de usuarios.
Si userlist_enable está configurado en "Sí" y userlist_deny está configurado en "No", solo los usuarios en la lista de usuarios en el archivo especificado por userlist_file pueden acceder a FTP.
Si userlist_enable está configurado en "YES" y userlist_deny está configurado en "YES", solo los usuarios en el archivo especificado por userlist_file pueden acceder a FTP. Si denegar se establece en "SÍ", a todos los usuarios de la lista de usuarios en el archivo especificado por userlist_file se les niega el acceso a FTP.
Configuración recomendada: tanto userlist_enable como userlist_deny están configurados en YES, de modo que a todos los usuarios en la lista de usuarios en el archivo especificado por userlist_file se les niega el acceso a FTP.
Beneficio: simplemente agregue una cuenta de usuario al archivo especificado en userlist_file y podrá congelar temporalmente el acceso de ese usuario a FTP agregando esa cuenta de usuario a la lista de usuarios en el archivo userlist_file.
20. user_config_dir
Especifique un directorio para que cada usuario almacene el archivo de configuración. Por ejemplo, después de que el usuario kkk inicie sesión, se creará el archivo de configuración correspondiente en función del nombre de usuario. .
Por ejemplo, si se especifica user_config_dir=/etc/vsftpd_user_conf,
Después de que kkk inicie sesión, se creará un archivo /etc/vsftpd_user_conf/kkk, que guarda la configuración del usuario. kkk. Puedes modificar este archivo
sin preocuparte de afectar las configuraciones de otros usuarios.
2. Mi configuración de VSFTP
#Primero, necesitas instalar VSFTP. Está disponible la compilación del código fuente o la instalación del paquete de software.
#La siguiente solución implementa las siguientes funciones:
#1. Bloquear las actividades del usuario en el directorio predeterminado /home/ftp,
#
#
#
Y mantenga una lista de usuarios que pueden acceder a otros directorios en el archivo /etc/vsftpd.chroot_list.
#2. Utilice la función de congelar temporalmente los usuarios de FTP y agregue los nombres de usuario que se suspenderán en /etc/vsftpd.usr_list.
#
#Establecer archivo de configuración:
#Copia el siguiente archivo y guárdalo como /etc/vsftpd.conf
# # Crea dos archivos nuevos: touch /etc/vsftpd.chroot_list
#
touch /etc/vsftpd .user_list
# Nuevo directorio: mkdir /home / ftp
# Nuevo grupo: addgroup ftp
# Modificar las propiedades de /home/ftp: chown ftp:ftp /home/ftp
# Agregar un nuevo Usuario FTP: adduser -- shell /bin/false --home /home/ftp
your_usr_name
# Agregue el nombre de usuario requerido para habilitar FTP al grupo ftp: usermod -aG ftp your_usr_name
#NOTA:
#Si su / etc/shells no contiene /bin/false, el usuario que creó con el método anterior no podrá acceder a #FTP, la solución: edite /etc/shells y agregue la línea /bin/false.
#
# Ejemplo de archivo de configuración /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
Esta es la primera vez que los usuarios pueden acceder a #FTP. enable=YES
write_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=SÍ
connect_from_port_20=SÍ
#chown_uploads=SÍ
#chown_username=quien sea
#xferlog_file=/ var/ log/vsftpd.
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_ user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner= Bienvenido a Blah FTP
Servicio.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local _user=YES
chroot_list_enable=YES p>
p>
chroot_list_file=/etc/vsftpd.
#ls_recurse_enable=YES
secure_ chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_ private_key_file=/etc/ssl/private/ssl-cert-snakeoil. clave
anon_root=/home/ftp
local_root=/home/ftp
userlist_file=/ etc/vsftpd.user_list
userlist_enable =SÍ
userlist_deny=SÍ
3. Responda las preguntas mencionadas anteriormente
1. ¿Cómo agregar usuarios de FTP?
Establezca local_enable en "yes" para que los usuarios del sistema puedan acceder a FTP.
Agregue un usuario al sistema, configure el shell en /bin/false y establezca su directorio de inicio en /home/ftp u otro directorio. El usuario creado de esta manera solo puede acceder a FTP y no puede iniciar sesión en el entorno de shell.
Nota: Puede crear un nuevo grupo ftp, configurar el propietario de /home/ftp en ftp y configurar el grupo en ftp. Todos los nuevos usuarios de FTP pueden acceder a /home/ftp uniéndose al grupo FTP. Esto también facilita la gestión de sistemas FTP con una gran cantidad de usuarios. Por ejemplo
sudo addgroup ftp #Si ya se ha agregado, no es necesario volver a agregarlo
sudo chown ftp: ftp /home/ftp #Si ya se ha agregado cambiado, no hay necesidad de cambiarlo
sudo adduser --shell /bin/false --home /home/ftp usuario1
#Add usuario1
sudo usermod -aG ftp
usuario1 #agregará usuario1 al grupo ftp
Esto le permitirá acceder al servicio FTP con el nombre de usuario usuario1.
2. ¿Cómo congelar temporalmente a los usuarios de FTP?
Establezca userlist_enable y userlist_deny en "YES" para que a todos los usuarios de la lista de usuarios en el archivo especificado por userlist_file se les niegue el acceso a FTP.
¡Simplemente agregue una cuenta de usuario a la lista de usuarios en el archivo especificado por userlist_file para congelar temporalmente el acceso de ese usuario a FTP! Para volver a habilitar el acceso,
simplemente elimine el nombre de usuario del archivo.
3. ¿Cuál es el directorio predeterminado para los usuarios de FTP? ¿Se puede cambiar?
Puede especificar el directorio predeterminado correspondiente a través de local_root y anon_root.
4. ¿Cómo bloquear el rango de directorio accesible para los usuarios de FTP?
Establezca chroot_local_user y chroot_list_enable en "Sí", de modo que solo la lista de usuarios en el archivo especificado por chroot_list_file
pueda acceder a directorios distintos al directorio predeterminado y a los usuarios fuera de la lista. ¡Solo puede estar activo en sus respectivos directorios predeterminados! Si algunos usuarios necesitan acceder a otros directorios, simplemente escriba su nombre de usuario
en el archivo chroot_list_file y podrá darles acceso a otros directorios.
5. ¿Qué derechos de acceso pueden tener los usuarios de FTP? ¿Puedo subir archivos?
Establezca write_enable para habilitar el acceso de escritura global. Esto permite a los usuarios de FTP escribir en archivos dentro del alcance permitido por el sistema de administración de cuentas local.
Esta es la primera vez que los usuarios de FTP pueden escribir en el directorio.