Когда я подключаюсь по 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
Может быть, есть еще более простой способ, см.здесь:
Чтобы изменить каталог входа по умолчанию для vsftpd, измените домашний каталог пользователя ftp в
/etc/passwd
:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
Домашний каталог пользователя ftp (userID=116) изменен на
/var/vsftpd
. Это позволит пользователю по умолчанию/анонимному/неизвестному попасть в определенное место (/var/vsftpd).
решение2
Я не совсем понимаю, как вы это настроили, но вам нужно установить vsftpd
.
Шаги:
Установить
vsftpd
:sudo apt-get install vsftpd
Сделайте резервную копию
vsftpd.conf
:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Настройте правила брандмауэра:
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
Создайте пользователя и сделайте его домашним каталогом.
/var/www/ftp/myApplication
- создайте дополнительную папку с именем
ftp
, указанным выше, на случай, если вам понадобится добавить больше папок для других пользователей. Создать пользователя:
sudo usermod -d /var/www/ftp/myApplication ftpuser
- создайте дополнительную папку с именем
Установите владельца и обязательно удалите права на запись с помощью следующих команд
sudo chown nobody:nogroup /var/www/ftp sudo chmod a-w /var/www/ftp
Назначить владельца
myApplication
папки пользователюftpuser
sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
Добавьте
/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
Создайте и добавьте пользователя в user_list:
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
Перезапустите
daemon
, чтобы загрузить новые конфигурации:sudo systemctl restart vsftpd
Источник(и):