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