Ошибка FTP-сервера виртуальной машины Azure: 550 Не удалось создать каталог.

Я пытаюсь установить домашний каталог для FTP-сервера, созданного на виртуальной машине Azure (Linux), и я пробовал много способов с помощью Google, но он выдает ошибку:

  1. Если я добавлю $USER в local_root при изменении файла /etc/vsftpd.conf

ftp› mkdir blob 550 Не удалось создать каталог.

  1. Если я не использую $USER

500 OOPS: невозможно изменить каталог:/home/ftp

  1. Я установил следующую конфигурацию в файле /etc/vsftpd.conf.
    listen=NO
    
    listen_ipv6=YES
    
    anonymous_enable=NO
    
    local_enable=YES
    
    write_enable=YES
    
    anon_upload_enable=YES
    
    anon_mkdir_write_enable=YES
    
    dirmessage_enable=YES
    
    use_localtime=YES
    
    xferlog_enable=YES
    
    connect_from_port_20=YES
    
    chroot_local_user=YES
    
    user_sub_token=$USER
    
    local_root=/home/$USER/ftp
    
    allow_writeable_chroot=YES
    
    pasv_enable=YES
    
    pasv_min_port=10000
    
    pasv_max_port=10010
    
    chroot_list_file=/etc/vsftpd.chroot_list
    
    secure_chroot_dir=/var/run/vsftpd/empty
    
    pam_service_name=vsftpd
    
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    
    ssl_enable=NO

Пожалуйста, помогите решить эту проблему при настройке домашнего каталога для FTP-сервера (Azure VM).


person Mayank Mani Pandey    schedule 22.10.2020    source источник


Ответы (1)


Я получил свой ответ. У нас есть два способа решить эту проблему.

  1. ftpClient.DataConnectionType = FtpDataConnectionType.AutoActive; Хотя это работает хорошо, но это не рекомендуется.
  2. ftpClient.DataConnectionType = FtpDataConnectionType.AutoPassive; Это рекомендуется в случае виртуальной машины Azure. И чтобы решить эту проблему, нам нужно включить pasv_enable=true на виртуальной машине AZURE через cmd, а также включить диапазон портов на виртуальной машине Azure через портал.

pasv_enable=Yes <br>
pasv_max_port=10010<br>
pasv_min_port=10000

Вот что я нашел в качестве объяснения по ссылке Microsoft:

Развертывание в нескольких регионах может использовать конфигурацию «активный-активный» или «активный-пассивный». Конфигурация «активный-активный» распределяет запросы по нескольким активным регионам. Активно-пассивная конфигурация поддерживает «горячие» экземпляры в дополнительном регионе, но не отправляет туда трафик, если только основной регион не выходит из строя. Дополнительные пояснения см. по ссылке Azure VM Active Passive

так как это делает режим конфигурации Azure, в результате чего весь трафик находится в открытом режиме

Пожалуйста, предложите лучший подход, если таковой имеется.

person Mayank Mani Pandey    schedule 26.10.2020