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

FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер.

Настройка FTP сервера производится в несколько этапов:

Установка FTP сервиса в систему

Настройка сервиса ftp требует, чтобы в системе были установлены сервисы ldap и unix, поэтому если они еще не были установлены устанавливаем их командами:

cl-setup ldap
cl-setup unix

Установка ftp сервиса производится командой:

cl-setup ftp

После чего ftp становится доступен для пользователя anonymous. На сервере также автоматически в ftp директории создадутся папки tmp и pub.

Для подключения к ftp откройте любой браузер, поддерживающий этот протокол, и введите в адрес странцы ftp://вашСервер.

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

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

Управление учетными записями

Добавление учетной записи

Для добавления учетной записи сервиса ftp используется команда cl-useradd:
  • Cоздать учетную запись user1 и задать пароль
    cl-useradd -p user1 ftp
    
  • Создать учетную запись user1 с домашней директорией, задать пароль. Домашняя директория по умолчанию помещается в pub/users/<имя_учетной_записи> домашней директории сервиса ftp. К этой директории имеет доступ только этот пользователь.
    cl-useradd -p -m user1 ftp
    
  • Создать учетную запись user1 с указанной домашней директорией, задать пароль. Домашняя директория в этом случае будет находится по указанному пути относительно корня домашней директории сервиса ftp.
    cl-useradd -p -m -d pub/user1 user1 ftp
    

Смена пароля учетной записи

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

cl-passwd user1 ftp

Удаление учетной записи

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

cl-userdel user1 ftp

P.S. Т.к. при создании учетной записи сервиса 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 сервис.

Добавление группы

Добавление группы осуществляется командой cl-groupadd:

# добавить группу pubwriter
cl-groupadd pubwriter unix

Удаление группы

Удаление группы осуществляется командой cl-groupdel:

# удалить группу test
cl-groupdel test unix

Добавление/удаление учетных записей в группу

Добавление и удаление учетных записей производится двумя способами:
  • с использованием команды cl-usermod:
    # добавить пользователя guest в группы pubwriter
    cl-usermod -a pubwriter guest unix
    
    # заменить пользователю guest группы на guest
    cl-usermod -G guest guest unix
    
  • с использованием команды cl-groupmod:
    # удалить пользователей guest1 и guest2 из группы pubwriter
    cl-groupmod -d guest1,guest2 pubwriter unix
    
    # добавить пользователей guest1,guest2 в группу pubwriter
    cl-groupmod -a guest1,guest2 pubwriter unix
    
Спасибо!