FTP. Установка.
Если FTP был установлен и он не заработал его следует удалить вместе со всеми настройками командой:
1 |
sudo apt purge vsftpd |
Как обычно делаем обновление:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Я привык делать обновление вот таким способом:
1 |
sudo apt update && sudo apt upgrade |
Далее устанавливаем пакет:
1 |
sudo apt install vsftpd |
Далее мы запускаем сервис FTP клиента командой:
1 |
sudo systemctl start vsftpd |
Добавляем наш сервер FTP в автозагрузку командой:
1 |
sudo systemctl enable vsftpd |
В некоторых публикациях было сказано о необходимости открытия соответствующих портов в файрволе. Я не смог этого сделать так как в консоле было сообщение о плохой команде. Я этот момент не сделал но у меня и так всё работает. Вот эти команды которые нужно было ввести:
1 |
sudo ufw allow 20/tcp |
и
1 |
sudo ufw allow 21/tcp |
Далее проверяем статус программы. Если светиться текст зелёным цветом, значит всё нормально. А ежели красным…… ищем ошибку. И так команда для проверки статуса:
1 |
sudo service vsftpd status |
Должно быть примерно так:
Если всё нормально то переходим к настройке файла конфигурации:
1 |
sudo nano /etc/vsftpd.conf |
Я приведу пример своего файла конфигурации и постараюсь рассказать об каждом пункте.
1 2 3 4 5 6 7 |
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES |
Теперь создадим пользователя “casio” для входа на сервер FTP.
1 |
sudo adduser casio |
Далее для пользователя “casio” создадим каталог с именем ftp
1 |
sudo mkdir /home/casio/ftp |
И назначим его владельцем созданной папки
1 |
sudo chown casio /home/casio/ftp |
Это видео мне очень помогло как новичку.
Далее описание файла конфигурации с переводом на русский язык.
Оригинал можно посмотреть тут
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# разрешить вход дядюшке anonymous'у? anonymous_enable=YES #Не запускать через inetd #listen=YES # разрешать вход локальным пользователям. local_enable=YES # # Разрешить любую форму команды записи FTP. write_enable=YES # # umask по умолчанию для локальных юзеров 077. Возможно хочется # изменить на 022, (022 используется в большинстве ftpd's) #local_umask=022 # # Разрешить аплоад для анонимусов. # Имеет смысл когда разрешена запись (write_enable=YES) # кроме того каталог должен быть доступен для записи FTP юзером. anon_upload_enable=NO # # Разрешить анонимусу создавать каталоги #anon_mkdir_write_enable=YES # # Разрешить мессаги каталогов - сообщения которые выдаются при # входе в определенную директорию. dirmessage_enable=YES # # логить аплоад/даунлоад xferlog_enable=YES # # убедиться что PORT коннекты вылазят из порта 20 (ftp-data). connect_from_port_20=YES # # Можно изменять автоматически владельца на аплоадных файлах # естественно использовать тут root'а я не советую chown_uploads=YES chown_username=psycho # # в какой файл пишем логи xferlog_file=/var/log/vsftpd.log # # можно увидеть лог и в формате xferlog #xferlog_std_format=YES # # таймаут на открытую && неиспользующуюся сессию. idle_session_timeout=600 # # таймаут на коннект по порту data. #data_connection_timeout=120 # # рекомендуется создать в системе пользователя, которого # ftp стервер будет использовать как конкретно униженного в своих # правах юзверя. #nopriv_user=ftpsecure # # Это для распознования асинхронных ABOR запросов. # не рекомендуется по соображениям безопасности (этот код довольно # сложный (и проверять его разработчикам видимо влом Demige)). # А если его не включить то возможно старые FTP клиенты вас не поймут. #async_abor_enable=YES # # По-умолчанию сервер будет разрешать ASCII режим, но фактически # игнорировать реквест. Здесь можно разрешить использовать ASCII. # Есть ппасность при вкл. ascii_download_enable что некоторые нехорошие # юзеры будут тормозить вашу машину командой "SIZE /большой/файл" в # ASCII режиме. # Эти ASCII опции разбиты на аплоад и даунлоад т.к. вы можете возжелать # разрешить ASCII-аплоады (для работы аплоад скриптов), без # разрешения даунлоада из-за DoS риска по командам SIZE и ASCII. # Поддержка ASCII на стороне клиента должна быть. #ascii_upload_enable=YES #ascii_download_enable=YES # # Баннер при входе ftpd_banner=Welcome to Psycho FTP. # # файл неразрешенных email адресов. # юзабельно для защиты от DoS атак. deny_email_enable=YES # (умолчальный файл) banned_email_file=/etc/vsftpd.banned_emails # # можно разрешить некоторым юзерам chroot()ится в их домашний каталог # если chroot_local_user=YES, тогда это будет листинг юзеров, которые # не могут chroot()ится. # если chroot_local_user=NO то в ftp_chroot_list прописывается какого # виртуального юзера куда chroot`ить chroot_list_enable=YES chroot_list_file=/etc/ftp_chroot_list # для локальных юзверей chroot_local_user=YES # можно разрешить опцию "-R" для встроенного ls. # по умолчанию запрещена т.к. сильно загружает систему на больших сайтах # Тем не менее некоторые FTP-клиенты такие как "ncftp" и "mirror" предпологают # ее наличие. Так что лучше ее включить. #ls_recurse_enable=YES |
Всем удачи в освоении linux