Настройка анонимного ftp (vsftpd)
К такому ftp сможет подключится любой и скачать все разрешённые для загрузки файлы.
Настройка через vsftpd
Установка vsftpd:
sudo apt install vsftpd
Создадим копию конфигурационного файла (чтобы иметь возможность отката конфига):
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.copy
Настройка брандмауэра:
sudo ufw allow ftp-data sudo ufw allow ftp
Подготовка каталога для файлов:
sudo mkdir -p /var/ftp/pub sudo chown nobody:nogroup /var/ftp/pub
Для настройки анонимного доступа (доступа для не авторизированных пользователей) отредактируем файл vsftpd.conf:
sudo nano /etc/vsftpd.conf
Редактируем:
anonymous_enable=YES #Анонимным пользователям разрешить вход local_enable=NO #Локальным пользователям запретить вход
Добавим:
# Point users at the directory we created earlier. anon_root=/var/ftp/ # # Stop prompting for a password on the command line. no_anon_password=YES # # Show the user and group as ftp:ftp, regardless of the owner. hide_ids=YES # # Limit the range of ports that can be used for passive FTP pasv_min_port=40000 pasv_max_port=50000
Перезапустим демон:
sudo systemctl restart vsftpd
Проверим статус:
sudo systemctl status vsftpd
Команда должна вернуть что-то типа этого:
Oct 10 13:29:12 vsftp systemd[1]: Starting vsftpd FTP server…
Oct 10 13:29:12 vsftp systemd[1]: Started vsftpd FTP server.
Тестирование анонимного доступа
Через браузер:
ftp://192.168.0.10
ip адрес указывать тот что настроен на вашем сервере, обратите внимание на приставку ftp://
Через командную строку:
ftp -p 192.168.0.10
Когда команда предложит указать имя пользователя, введите ftp или anonymous.
И дальше уже можете:
ls – посмотреть содержимое текущей директории
cd dir1 – Перейти в директорию dir1
get file.txt – скачать файл с sftp сервера, сохранит в домашнюю директорию, чтобы скачать файл нужно сначала будет зайти в каталог с ним.
Тестирование авторизованного подключения
Сразу скажу, что существующие пользователи сервера, под своим логином не должны будут мочь подключиться (потому этот ftp никак не шифруется и данные пользователей не могут передаваться по такому протоколу).
ftp -p 192.168.0.10
Когда команда предложит указать имя пользователя, введите логин пользователя сервера.
Команда должна вернуть:
530 This FTP server is anonymous only.
ftp: Login failed.
И так, мы настроили ftp к которому может подключиться любой просто введя логин ftp или anonimous. Пользователям зарегистрированным в системе вход под своим логином и паролем будет запрещён, так как мы настраиваем ftp открытый для всех и не шифруем данные. Безопасный ftp, который будет доступен только зарегистрированным в системе пользователям, можно настроить и в vsftpd, но как по мне лучше для этого подойдёт SFTP (SSH File Transfer Protocol) как это сделать читайте тут.
LEAVE YOUR COMMENT