Как изменить каталог FTP по умолчанию?

Как изменить каталог FTP по умолчанию?

Когда я подключаюсь по FTP с помощью PEM-файла, соединение проходит нормально и по умолчанию отображается следующий каталог:/home/ubuntu

Теперь я пытаюсь изменить /home/ubuntuкаталог на /var/www/myApplication. Я новичок в Linux, может ли кто-нибудь подсказать, какие команды мне нужно использовать?

И как мне увидеть путь FTP по умолчанию, если в моей папке нет vsftpdпапок/файлов /etc?

решение1

Каталог ftp по умолчанию соответствует каталогу пользователя HOME, поэтому самый простой способ достичь цели — создать нового пользователя и указать для него HOMEкаталог /var/www/myApplication:

usermod -d /var/www/myApplication/ exampleuser

Если вы хотитеограничиватьдоступ к этому каталогу вам нужно установить

chroot_local_user=YES

в вашем vsftpd.conf. Затем перезапустите службу vsftpd с помощью:

service vsftpd restart

ВидетьUnix и Linux: как создать пользователя FTP с определенным доступом к /dir/ только в установке Centos / Linux


Может быть, есть еще более простой способ, см.здесь:

Чтобы изменить каталог входа по умолчанию для vsftpd, измените домашний каталог пользователя ftp в /etc/passwd:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false

Домашний каталог пользователя ftp (userID=116) изменен на /var/vsftpd. Это позволит пользователю по умолчанию/анонимному/неизвестному попасть в определенное место (/var/vsftpd).

решение2

Я не совсем понимаю, как вы это настроили, но вам нужно установить vsftpd.

Шаги:

  1. Установить vsftpd:

    sudo apt-get install vsftpd
    
  2. Сделайте резервную копию vsftpd.conf:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
    
  3. Настройте правила брандмауэра:

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw status
    
    • Если у вас нет брандмауэра, установите:

      • sudo apt-get install ufw
      • Давать возможность:sudo ufw enabe
  4. Создайте пользователя и сделайте его домашним каталогом./var/www/ftp/myApplication

    • создайте дополнительную папку с именем ftp, указанным выше, на случай, если вам понадобится добавить больше папок для других пользователей.
    • Создать пользователя:

      sudo usermod -d /var/www/ftp/myApplication ftpuser
      
  5. Установите владельца и обязательно удалите права на запись с помощью следующих команд

    sudo chown nobody:nogroup /var/www/ftp
    sudo chmod a-w /var/www/ftp
    
  6. Назначить владельца myApplicationпапки пользователюftpuser

    sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
    
  7. Добавьте /etc/vsftpd.confследующие конфигурации:

    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    write_enable=YES
    
    # Prevent the FTP-connected user from accessing any files or commands outside 
    # the directory tree
    chroot_local_user=YES
    
    # Add a user_sub_token in order to insert the username in our local_root directory 
    # path so our configuration will work for this user and any future users that might 
    # be added
    
    user_sub_token=$USER
    local_root=/var/www/ftp
    
    # Set up the configuration so that access is given to a user only when they 
    # are explicitly added to a list rather than by default
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO
    
  8. Создайте и добавьте пользователя в user_list:

    echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
    
  9. Перезапустите daemon, чтобы загрузить новые конфигурации:

    sudo systemctl restart vsftpd
    

Источник(и):

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04

Связанный контент