Известный факт: работа любой операционной системы зависит от того, какой сервер установлен на девайсе. Сервер FTP на Ubuntu имеет свои преимущества и недостатки. Он обладает своими специфическими особенностями. Следует знать важные аспекты установки и настройки ftp сервера linux. Также новичку следует знать о часто встречающихся ошибках установки ubuntu ftp server и проблемы, возникающие после при работе с ним.
Что такое FTP
FTP server linux – это один из базовых протоколов передачи файлов в сети на платформе убунту. С его помощью можно:
- подключаться к различным tftp серверам ubuntu;
- просматривать различные каталоги;
- загружать документы с одного сервера на другой (например, с tftp на atftpd ubuntu).
Это оборудование использует для своей работы различные программы – ubuntu ftp клиенты:
- File Zilla – универсальная программа, используется для всех протоколов и платформ.
- WinSCP – очень удобный с двумя панелями протокол для системы виндовс.
- FAR Manager – его используют только с помощью консоли Виндовс.
- FireFTP – этот сервер актуален для браузера Mozilla.
- Total Commander – популярный менеджер для Виндовс.
- Cyberduck – программное обеспечение для платформы Линукс.
Дальнейшие этапы установки, настройки и работы будут рассмотрены для ftp сервера ubuntu 14.04.
Режимы работы FTP
При работе с таким протоколом есть 2 режима, которые отличаются между собой соединением между пользователем и сетью.
Автономный режим
По-другому этот вариант называется пассивным режимом. Это более безопасный для пользователя случай. Человек в этом случае не указывает номера порта.
Методика передачи файлов такова:
- Отправляют со своего временного порта запрос на порт сервера.
- Затем следует ответ сервера на временный порт индивидуума.
- Подтверждают соединение. Затем отправляют команду, утверждающую пассивный режим работы.
- Сервер в ответ подтверждает режим работы, выдает ip-адрес и номер порта для связи.
- Отправляют запрос с нового порта на соединение с выданным номером порта.
- Сервер подтверждает установку.
- После установления соединения клиент дает команды, и начинается передача.
Очень важно использовать этот режим, если установлен Firwall.
Нормальный режим
По-другому этот вариант называется активным режимом. В этом случае пользователь сам задает необходимый порт для связи.
Методика передачи файлов выглядит следующим образом:
- Клиент отправляет со своего временного порта запрос на порт сервера.
- Затем следует ответ сервера на временный порт индивидуума.
- Подтверждают соединение. Затем отправляют команду, утверждающую активный режим работы, свой ip-адрес и порт.
- Сервер в ответ подтверждает режим работы.
- Дают команды серверу.
- Сервер дает запрос на указанный пользователем порт о соединении.
- Клиент подтверждает это соединение, и передача файлов начинается.
Однако этот вариант опасен тем, что данные клиента могут попасть в «чужие руки», поскольку они никак не зашифрованы.
Установка FTP на Ubuntu Server
Этот процесс происходит с помощью команды vsftpd.
Алгоритм простой:
- Установка с помощью выражения sudo apt install vsftpd.
- Для запуска: sudo systemctl start vsftpd, sudo systemctl enable vsftpd.
- Разрешить порты для работы ufw: sudo ufw allow 20/tcp, sudo ufw allow 21/tcp.
- Запустится конфигурационный файл, содержащий множество параметров настройки. Руководство по каждому пункту вызывается с помощью команды: man 5 vsftpd.conf.
Настройка FTP сервера на Ubuntu
Этот процесс имеет разные направления, которые различаются своими специфическими особенностями.
Настройка доступа пользователей
Есть 2 пути: анонимный и авторизированный. Первый случай простой, пользователь создает анонимный файл для связи. Второй случай более безопасный – должна быть учетная запись.
Анонимный доступ
Скопировать на всякий случай конфигурационный файл с помощью команды:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Затем установить анонимный режим:
sudo cp /etc/vsftpd.conf / anonymous_enable=YES
После следует перезапустить сервер с помощью выражения:
sudo service vsftpd restart
Затем нужно скопировать файлы и каталоги для доступа анонимных клиентов.
Чтобы они тоже могли загружать файлы, нужно воспользоваться выражением:
anon_upload_enable=YES
Однако последний пункт может привести к нарушению безопасности работы сервера.
Авторизированный доступ
Повторить первый пункт предыдущего метода.
Для введения своих данных нужно создать строку с помощью:
local_enable=YES
Разрешить пользователям загрузку файлов можно с помощью команды:
write_enable=YES
Затем следует перезагрузить систему с помощью выражения:
sudo service vsftpd restart
После следует защитить систему другими опциями.
Смена номера порта
Сначала нужно подключиться к серверу по SSH.
Узнать, какой FTP-сервер установлен с помощью выражения:
dpkg -l | grep ftpd | awk '{print $2'}
Выполнить команды: либо vsftpd, либо proftpd.
Другие опции
Есть важные 2 направления, о которых каждый пользователь обязательно должен знать.
Ограничение пользователей
Управлять документами и запросами пользователями достаточно просто.
Для ограничения уровня любого человека можно воспользоваться командой:
chroot_local_user=YES
Установить список людей, которым будет доступен домашний каталог, можно с помощью команд:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Затем следует перезапустить программу с помощью:
sudo service vsftpd restart
Также можно запретить доступ в домашний каталог другим пользователям с помощью:
sudo chmod a-w /home/user/
Отменить проверку на запись в домашний каталог можно выражением:
allow_writeable_chroot=YES
Разрешить пользователям только входить в свои каталоги:
local_root=/home
Шифрование
При наличии FTPS пользовательское место для увеличения безопасности можно зашифровать.
Для настройки такого режима следует в конце конфигурационного файла добавить:
ssl_enable=Yes
Ввести сертификат и ключ с помощью:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Перезагрузить программу:
sudo service restart vsftpd
Чтобы пользователям был доступ к серверу, а не к оболочке, следует отредактировать файл следующим образом:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Частые ошибки и проблемы
Частые проблемы новичков заключаются в следующем:
- Не видны те файлы, название которых начинаются с точки. Они считаются скрытыми. Для решения этой проблемы следует в файл /usr/local/etc/proftpd.conf вписать:
ListOptions -la
- Запрещен доступ пользователю с правами Root. В этом случае следует перейти на протокол SFTP.
- Невозможность подключения. Решение многоуровневое будет рассмотрено ниже.
Выполняя вышеперечисленные действия, человек может самостоятельно быстро настроить работу сервера.
Невозможность подключения через FTP
Чтоб разрешить проблему, следует принять ряд определенных мер.
Проверить установку
Нужно выполнить запрос:
# dpkg -l | grep -i "ftp"
Если сервер установлен, то придет ответ:
ii ftp 0.17-25 classical file transfer client
ii proftpd-basic 1.3.4a-1 Versatile , virtual-hosting FTP daemon - binaries
Если нет, то следует загрузить сервер:
# apt-get install proftpd
Проверить запуск
Нужно подключиться к серверу с помощью SSH и ввести команды:
# telnet localhost 21
# netstat -tulpn | grep :21
Должен быть ответ:
tcp6 0 0 :::21 :::* LISTEN 6208/proftpd: (acce
Другой способ заключается в введении выражения:
# netstat -a | grep ftp
В этом случает ответ будет выглядеть следующим образом:
tcp6 0 0 [::]:ftp [::]:* LISTEN
Если порт не открыт, то его следует запустить командой:
# /etc/init.d/proftpd start
Запрет для пользователя
Проверить отсутствие блокировки запросом:
# iptables -L -n
Ответ сервера в этом случае:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ISPMGR all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ISPMGR all -- 0.0.0.0/0 0.0.0.0/0
Chain ISPMGR (2 references)
target prot opt source destination
Заключение
Сервер FTP на Ubuntu –базовый протокол передачи файлов для платформы Линукс. Установка и настройка его требует учета специфических нюансов. Для предотвращения каких-либо поломок нужно обратиться к специалисту.