Настройка FTP-сервера

Обновлено 7 марта 2019

FTP

Введение

FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы как с сервера, так и на сервер. Настройка почтового сервера может быть выполнена при помощи утилит Calculate, входящих в пакет sys-apps/calculate-server. Для хранения учётных записей пользователей и групп используется OpenLDAP-сервер, в качестве FTP-сервера используется ProFTPD. Необходимое программное обеспечение входит в состав Calculate Directory Server.

Настройка LDAP сервера

Для хранения учётных записей пользователей, групп и машин и управления ими утилиты используют сервер OpenLDAP. Настройте сервис LDAP согласно руководству.

Настройка FTP сервера

Перед настройкой FTP сервера выполните настройку службы хранения учётных записей Unix-пользователей:

cl-setup unix
 * ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы и базу данных сервиса LDAP.
 Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes

 * Добавлен ldif файл ...                                                                                        [ ok ]
 * Unix сервис сконфигурирован ...                                                                               [ ok ]

Настройте FTP сервер, выполнив:

cl-setup ftp
* ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы и базу данных сервиса LDAP.
 Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes

* Добавлен ldif файл ...                                                                                        [ ok ]
* Запускается Proftpd ...                                                                                       [ ok ]
* FTP сервис сконфигурирован ...                                                                                [ ok ]

После выполнения настройки запустится FTP-сервер с доступом для пользователя anonymous. На FTP-сервере будут созданы директории /tmp и /pub.

Для подключения к FTP ftp.exmpale.org откройте любой браузер, поддерживающий этот протокол, и введите в строку адреса ftp://ftp.example.org.

Учётные записи

Учётные записи используются для авторизованного доступа к FTP-серверу. Для каждой из них может быть настроена домашняя папка, а при использовании совместно с Unix-сервисом - разграничены права.

Для добавления учетной записи используется команда cl-useradd. Для создания учётной записи user1 с назначением пароля выполните:

cl-useradd -p user1 ftp

Для создания учетной записи user1 с домашней директорией и назначением пароля выполните:

cl-useradd -p -m user1 ftp

Домашняя директория по умолчанию расположена в /pub/users/<имя_учетной_записи> корневой директории сервиса FTP. К этой директории имеет доступ только владелец учётной записи.

Для создания учетной записи user1 с указанной домашней директории и назначением пароля выполните:

cl-useradd -p -m -d pub/user1 user1 ftp

Домашняя директория в этом случае будет находиться по указанному пути относительно корневой директории сервиса FTP.

Смена пароля учетной записи производится командой cl-passwd:

cl-passwd user1 ftp

Удаление учетной записи из производится командой cl-userdel, при этом удаляется пользовательская домашняя директория:

cl-userdel user1 ftp

Заметка

При создании учетной записи сервиса FTP, автоматически создается учетная запись сервиса Unix. При удалении
учетной записи сервиса FTP, учетная запись Unix остается.

Управление правами доступа к директориям

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

Файлы имеют двух владельцев: пользователя (user owner) и группу пользователей (group owner). Для каждого файла есть индивидуальные права доступа, которые разбиты на три группы: Доступ для пользователя-владельца файла (owner). Доступ для группы-владельца файла (group). Доступ для остальных пользователей (others).

Для каждой категории устанавливаются три вида доступа: (x) - право на запуск файла/право входа в директорию, (r) - право на чтение файла/директории, (w) - право на изменение (редактирование) файла, удаление/создание файлов в директории.

Для определения прав доступа к директориям сервис FTP взаимодействует с Unix-сервисом: каждой учетной записи FTP соответствует одноименная учетная запись Unix. Таким образом, пользователь, входя под своей учетной записей на FTP-сервер, получает определенный доступ к файлу в зависимости от того, является ли он пользователем-владельцем файла и входит ли в группу-владельца файла. Если пользователь не является владельцем и не входит в группу-владельца, то доступ определяется по правам others. В случае анонимного доступа к FTP права также определяются по others.

Установка прав осуществляется на сервере командой chmod.

Для установки прав user=все, group=чтение/запись и others=чтение выполните:

chmod u=rwx,g=rw,o=r file

Для установки группы-владельца pubwriter выполните:

chgrp pubwriter pub

Для установки разрешения писать в директорию pub для группы выполните:

chmod g+w pub

Управление Unix группами

Так как FTP-сервис тесно связан с Unix-сервисом, то управление группами, в которые входит пользователь, осуществляется через Unix-сервис.

Для добавления группы pubwriter в Unix-сервис выполните:

cl-groupadd pubwriter unix

Для удаления группы test из Unix-сервиса выполните:

cl-groupdel test unix

Добавление и удаление учетных записей может быть произведено двумя способами: командой cl-usermod и cl-groupmod.

Для добавления пользователя guest в группу pubwriter выполните:

cl-usermod -a pubwriter guest unix

Для изменения группы пользователя guest на pubwriter выполните:

cl-usermod -G pubwriter guest unix

Для удаления пользователя guest из группы pubwriter выполните:

cl-groupmod -d guest1 pubwriter unix