Поиск по сайту:

FTP_Manager: скрипт для установки и управления FTP-сервером в CentOS

Сегодня я наткнулся на скрипт под названием FTP_Manager, созданный другим пользователем Linux г-ном Джанакирамом Сурагани. Этот сценарий может использоваться начинающими системными администраторами Linux для простой установки и управления FTP-сервером в RHEL и CentOS. Используя этот скрипт, вы можете установить ftp-сервер, создавать, удалять, редактировать и управлять пользователями FTP через простой интерфейс командной строки.

Давайте посмотрим, как установить FTP-сервер и управлять им в CentOS. Те же шаги должны работать и в RHEL, Fedora и Scientific Linux.

Установите и управляйте FTP-сервером в CentOS с помощью FTP_Manager

Чтобы использовать этот скрипт, вам необходимо отключить брандмауэр и SELinux.

Чтобы остановить брандмауэр, выполните следующие команды от имени пользователя root в CentOS 7:

systemctl stop firewalld
systemctl disable firewalld

В CentOS 6 и более ранних версиях запустите:

service iptables stop
chkconfig iptables off

Чтобы отключить SELinux, отредактируйте файл /etc/sysconfig/selinux:

vi /etc/sysconfig/selinux

Найдите строку «SELINUX=enforcing» и измените ее на «SELINUX=disabled».

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted

Сохраните и закройте файл. Перезагрузите систему, чтобы изменения вступили в силу.

Проверьте, отключен ли брандмауэр с помощью команды в CentOS 7:

systemctl status firewalld

Пример вывода:

● firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
 Active: inactive (dead)

В CentOS 6:

service iptables status

И проверьте, что SELinux отключен с помощью команды:

sestatus

Пример вывода:

SELinux status: disabled

Примечание. Поскольку не рекомендуется отключать механизмы безопасности, я рекомендую разработчику FTP_manager найти обходной путь для использования этого сценария с включенными SELinux и IPTables.

После того, как вы отключили обе службы, загрузите этот скрипт по ссылке ниже.

  • Загрузить скрипт FTP_Manager

Или выполните следующую команду, чтобы загрузить его в текущий рабочий каталог.

wget https://github.com/suraganijanakiram/FTP_Manager_centos/archive/master.zip

Извлеките zip-архив с помощью команды:

unzip master.zip

Перейдите в извлеченную папку и сделайте этот скрипт исполняемым, как показано ниже.

cd FTP_Manager_centos-master/
chmod +x ftp_manager.sh

Затем выполните следующую команду, чтобы выполнить этот скрипт:

./ftp_manager.sh

Ой, у меня возникла эта ошибка.

-bash: ./ftp_manager.sh: /bin/bash^M: bad interpreter: No such file or directory

Похоже, в файле сценария заканчивается строка DOS. Подсказка — ^M. Чтобы это исправить, откройте скрипт в редакторе vi или vim и введите следующую строку:

:set fileformat=unix

Затем введите следующее, чтобы сохранить и выйти из файла.

:wq!

Снова запустите скрипт, как показано ниже. На этот раз это должно сработать. Предлагаю автору это тоже исправить.

./ftp_manager.sh

Этот скрипт отобразит следующий список опций.

1: Чтобы установить пакет vsftpd и настроить

2: Чтобы добавить пользователя

3: Для chroot (ограничить пользователя ftp его домашним каталогом) существующего пользователя

4: Чтобы удалить chroot (ограничить пользователя ftp его домашним каталогом) для пользователя

5: Чтобы удалить пользователя

6: Чтобы просмотреть данные для входа в FTP.

7: Чтобы просмотреть сведения о неудачном входе в FTP.

8: Чтобы просмотреть журнал активности FTP ЗАГРУЗКИ (или) РЕДАКТИРОВАНИЯ и СКАЧИВАНИЯ.

9: Чтобы просмотреть журнал активности DELETE FTP

Вопрос: Выход

Просто ВВЕДИТЕ номер, и соответствующее действие начнется немедленно.

Скажем, чтобы установить и настроить пакет vsftpd, введите 1. Пакет vsftpd будет установлен и настроен автоматически.

Это установит пакет vsftpd и запустит службу vsftpd. Вы ничего не увидите. Все будет делаться в фоновом режиме. Как только это будет сделано, указатель мыши снова появится в строке "введите номер опции:" .

Далее давайте добавим пользователя FTP. Для этого введите номер 2. Он запросит у вас подтверждение. Введите Да, чтобы продолжить. Введите имя пользователя FTP, и он автоматически сгенерирует пароль для пользователя FTP. Затем он снова спросит, хотите ли вы выполнить chroot пользователя ftp. Введите «Да», если хотите, или «Нет», если не хотите.

Точно так же вы можете создать любое количество пользователей FTP. После создания всех пользователей введите Нет, чтобы вернуться к главному мастеру.

После того, как вы создали пользователей FTP, попробуйте войти в систему либо из командной строки, либо через веб-браузер, либо с помощью любого графического пользовательского клиентского инструмента FTP, такого как Filezilla.

Вход по FTP через браузер:

Вход по FTP с помощью FileZilla:

Все опции в этом скрипте говорят сами за себя. Например, чтобы просмотреть данные для входа в FTP, введите 6 и нажмите ENTER. Он отобразит соответствующие детали.

Аналогичным образом вы можете проверить другие параметры, введя присвоенные номера.

По всем вопросам посетите официальную страницу GitHub или свяжитесь с разработчиком скрипта по почте suraganijanakiram@gmail.com.

Заключение

Насколько я заметил, этот сценарий очень простой и его необходимо улучшить, чтобы использовать его в производственной среде. Поскольку автор этого сценария посоветовал нам отключить SELinux и IPtables, что не рекомендуется, я думаю, что он не подходит для производственных и критически важных сред. Однако вы можете использовать его в своей локальной среде тестирования и разработки для совместного использования, копирования файлов и папок.

Ресурс:

  • Страница FTP_Manager на GitHub

Статьи по данной тематике