Установка и настройка FTP сервера Время чтения: 2 мин. 340 просмотров FTP-сервер обеспечивает безопасную передачу файлов между локальными компьютерами и сервером, что необходимо для управления веб-сайтами. Это руководство предназначено для системных администраторов и разработчиков, которые хотят установить и настроить FTP-сервер для веб-окружения 1С-Битрикс: Управление сайтом на CentOS 7. При небольших изменениях данное руководство может быть применено и для других конфигураций. Установка и настройка Устанавливаем proftpd: yum install proftpd proftpd-utils Запускаем и добавляем демон в автозагрузку: systemctl start proftpd systemctl enable proftpd Открываем конфигурационный файл proftpd.conf: nano /etc/proftpd.conf И добавляем следующее: RequireValidShell off AuthUserFile /etc/proftpd.d/ftpd.passwd AuthPAM off RootLogin off PassivePorts 6000 6100 LoadModule mod_auth_file.c AuthOrder mod_auth_file.c * где: RequireValidShell off – позволяет пользователям входить в систему через FTP, даже если их оболочка не указана в файле /etc/shells;AuthUserFile /etc/proftpd.d/ftpd.passwd – указывает путь к файлу, который используется для аутентификации пользователей;AuthPAM off – отключает модуль аутентификации PAM (Pluggable Authentication Modules), может использоваться для интеграции с общей системой аутентификации Linux; RootLogin off – отключает возможность входа под учетной записью root через FTP;PassivePorts 6000 6100 – параметр определяет диапазон портов, которые будут использоваться для пассивного режима передачи данных FTP. Пассивный режим используется для устранения проблем с настройкой фаервола, так как клиент FTP инициирует соединение на порт сервера из диапазона, указанного здесь; LoadModule mod_auth_file.c – загружает модуль, который предоставляет базовую аутентификацию на основе файлов; AuthOrder mod_auth_file.c – опция устанавливает порядок использования модулей аутентификации. Закомментировать строчку: #AuthOrder ... Создаём каталог для хранения конфигурационных файлов froftpd: mkdir /etc/proftpd.d Создаём FTP пользователя: ftpasswd --passwd --file=/etc/proftpd.d/ftpd.passwd --name=bitrix --shell=/sbin/nologin --home=/home/bitrix/www/ --uid=600 --gid=600 * где: –file=/etc/proftpd.d/ftpd.passwd – задает путь к файлу, в котором будут храниться данные пользователей FTP; –name=bitrix – устанавливает имя FTP пользователя; –shell=/sbin/nologin – устанавливает оболочку, которая будет использоваться для пользователя. В данном случае указан /sbin/nologin, что предотвратит вход пользователям через интерактивную оболочку; –home=/home/bitrix/www/ – задает домашний каталог пользователя, указан путь до каталога с файлами битрикса; –uid=600 – устанавливает идентификатор пользователя, в данном случае указан UID системной учётной записи Битрикса; –gid=600 – устанавливает идентификатор группы, в данном случае указан GID группы Битрикса. В данном примеры созданный FTP пользователь будет иметь полный доступ к каталогу с файлами Битрикса! Перезапускаем демон: systemctl restart proftpd Брандмауэр Если на сервере включен брандмауэр необходимо открыть следующие порты:21 – порт для передачи команд;6000-6100 – диапазон для обмена данными, задаётся в proftpd.conf. iptables -I INPUT -p tcp --dport 21 -j ACCEPT iptables -I INPUT -p tcp --dport 6000:6100 -j ACCEPT Сохранение изменений при перезагрузке: /sbin/service iptables save Логирование Настройка подробного логирования.Создаём файлы логов: touch /var/log/proftpd/proftpd.log touch /var/log/proftpd/xfer.log touch /var/log/proftpd/access.log touch /var/log/proftpd/auth.log Добавляем в файл proftpd.conf следующее: LogFormat default «%h %l %u %t «%r» %s %b» LogFormat auth «%v [%P] %h %t «%r» %s» LogFormat write «%h %l %u %t «%r» %s %b» SystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/xfer.log ExtendedLog /var/log/proftpd/access.log ALL ExtendedLog /var/log/proftpd/auth.log AUTH auth * где: SystemLog /var/log/proftpd/proftpd.log – указывает файл для системных логов сервера ProFTPD;TransferLog /var/log/proftpd/xfer.log – указывает файл для логов передачи данных;ExtendedLog /var/log/proftpd/access.log ALL – указывает файл для расширенных логов всех событий;ExtendedLog /var/log/proftpd/auth.log AUTH auth – указывает файл для расширенных логов событий аутентификации. Перезагружаем демон: systemctl restart proftpd Возможные проблемы Некорректное время в логах На сервере установлено правильное системное время и часовой пояс, но время в логах ProFTPD отображается некорректно. Добавляем в файл proftpd.conf следующее: TimesGMT off SetEnv TZ :/etc/localtime Перезагружаем демон: systemctl restart proftpd Высокая нагрузка на процессор Процесс ProFTPD потребляет слишком много процессорных ресурсов, решение, ограничить количество сессий.Добавляем в файл proftpd.conf в секцию Global следующее: MaxClients 10 "Too many connections" MaxClientsPerHost 3 "%m client are already connected from your host" * где:MaxClients – устанавливает максимальное количество одновременных подключений ко всему FTP-серверу;MaxClientsPerHost – Устанавливает максимальное количество одновременных подключений от одного хоста. Полезные команды ftpwho – показывает текущую информацию о процессе для каждого FTP-сеанса; ftpcount – показывает текущее число соединений к FTP-серверу; ftptop – отображает активности текущих FTP-сессий в реальном времени. Метки:Bitrix24CentOSFTPUNIX