Настройка FTP-сервера
Обновлено 7 марта 2019
Введение
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы как с сервера, так и на сервер. Настройка почтового сервера может быть выполнена при помощи утилит Calculate, входящих в пакет sys-apps/calculate-server. Для хранения учётных записей пользователей и групп используется OpenLDAP-сервер, в качестве FTP-сервера используется ProFTPD. Необходимое программное обеспечение входит в состав Calculate Directory Server.
Настройка LDAP сервера
Для хранения учётных записей пользователей, групп и машин и управления ими утилиты используют сервер OpenLDAP. Настройте сервис LDAP согласно руководству.
Настройка FTP сервера
Перед настройкой FTP сервера выполните настройку службы хранения учётных записей Unix-пользователей:
* ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы и базу данных сервиса LDAP.
Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes
* Добавлен ldif файл ... [ ok ]
* Unix сервис сконфигурирован ... [ ok ]
Настройте 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