3.9.8 Настройка FTP сервера
Установка и настройка сервера
Монтирование ftp ресурса в качестве директории РЕД ОС
Ручной вариант монтирования
Автоматический вариант монтирования при помощи autofs
Установка и настройка сервера
Для установки через терминал перейдите в сеанс пользователя root с помощью команды:
su
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
# yum install vsftpd# yum install ftp
Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:
# dnf install vsftpd# dnf install ftp
Запуск сервера и включения демона vsftpd в автозагрузку :
# systemctl start vsftpd
# systemctl enable vsftpd
Конфигурационным файлом для настройки vsFTPd является файл vsftpd.conf, который обычно находится по пути /etc/vsftpd/vsftpd.conf
На всякий случай полезно перед редактированием оригинального файла настроек сделать его резервную копию:
# cp /etc/vsftpd/vsftpd.conf vsftpd.conf.backup
FTP-сервер vsFTPd предусматривает два основных варианта работы: с анонимными и авторизованными пользователями.
Чтобы включить анонимный доступ по FTP нужно в файле /etc/vsftpd/vsftpd.conf определить значение «YES» для соответствующей директивы :
anonymous_enable=YES
Теперь для управления файлами будет использоваться определённый каталог (обычно это /var/ftp/pub) и определённый пользователь — обычно ftp.
Можно определить и другое расположение файлов для анонимного доступа по FTP, т. е. изменить домашнюю директорию пользователя ftp:
# mkdir /srv/share/ftp # usermod -d /srv/share/ftp ftp
Пример доступа к папке
Для авторизованного доступа проще всего включить использование локальных учётных записей на сервере. Для этого нужно привести строку в файле конфигурации vsftpd.conf к виду::
local_enable=YES
Примечание: для авторизации локальных пользователей используется пароль пользователя для локального входа в систему.
Что бы ограничить передвижение авторизованного пользователя в рамках одной папки используется следующий алгоритм:
в конфигурационный файл vsftpd.conf добавляется строка:
user_config_dir=/etc/vsftpd_user_conf
Создается папка, в которой будет хранится правило для пользователя:
# mkdir /etc/vsftpd_user_conf
Создается файл, имя которого равно имени пользователя, которому требуется разрешить доступ к папке:
# nano /etc/vsftpd_user_conf/ИМЯ_ПОЛЬЗОВАТЕЛЯ
Добавляется строка:
local_root=/serv/ftp/
Для добавления доступа другому пользователю к папке создается новый файл /etc/vsftpd_user_conf/ИМЯ_ПОЛЬЗОВАТЕЛЯ с аналогичным содержимым.
Теперь нужно перезапустить vsftpd для активации сделанных изменений:
# systemctl restart vsftpd
Монтирование ftp ресурса в качестве директории РЕД ОС
Теперь нужно перезапустить vsftpd для активации сделанных изменений:
Ручной вариант монтирования
Осуществляется при помощи утилиты curlftpfs. Данная утилита позволяет монтировать ftp ресурсы в качестве локальных папок на ПК.
Пример монтирования представлен в командах:
Общий синтаксис:
# curlftpfs ftp://SERVER /ТОЧКА_МОНТИРОВАНИЯ
1) Анонимное монтирование
# curlftpfs ftp://10.81.1.74 /serv/ftp
Если требуется разрешить доступ для всех, то добавляется
-o allow_other
2) Авторизованное монтирование
# curlftpfs ftp://10.81.1.74 /serv/ftp -o user=username:password
Если требуется разрешить доступ для всех, то к
-o user=username:password
добавляется через запятую
-o user=username:password,allow_other
Автоматический вариант монтирования при помощи autofs
Данная утилита использует для конфигурирования шаблоны, расположенные в /etc/. Основной шаблон называется auto.master, он может указывать на один или несколько других шаблонов для конкретных типов. В данном случае будет рассмотрено монтирование ftp.
Создается файл
# nano /etc/auto.ftp
Содержимое (авторизованный вариант):
10.81.1.74 -fstype=fuse,allow_other :curlftpfs\#username:password@10.81.1.74
Содержимое (анонимный вариант):
10.81.1.74 -fstype=fuse,allow_other :curlftpfs\#10.81.1.74
В файл /etc/auto.master добавляется строка:
/serv/ftp /etc/auto.ftp --ghost,--timeout=30
Устанавливается пакет:
для РЕД ОС версии 7.1 или 7.2:
# yum install curlftpfs
для РЕД ОС версии 7.3 и старше:
# dnf install curlftpfs
Выполняется запуск сервиса autofs
# systemctl start autofs
# systemctl enable autofs
# systemctl restart vsftpd
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.