• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Использование виртуальных пользователей в VSFTPD (Berkeley DB + PAM)


    Следующая часть данного руководства это настройка виртуальных пользователей с использованием PAM(Pluggable Authentication Modules).  Виртуальные пользователе не могут зайти в систему так как их данные не содержатся в файлах /etc/passwd и /etc/shadow. Использование виртуальных пользователей может обезопасить вашь FTP сервер так как они могут использовать только доступ к нему, так же они не могут войти в систему для использования других служб типа SSH или SMPT.

    1. Начнем, для начала установим Berkeley DB и утелиты:

    # yum install bd4-utils db4

    2. Создадим базу виртуальных пользователе:

    Для того что бы создать db4 файл, нам нужно создать сначала текстовый файл например vusers.txt в котором будет содержатся информация о имени и пароле пользователя. Например, в моим случае есть пользователь 'leexa' с паролем '123456' и пользователь 'liuko' с паролем '654321'. И так посмотрим что у нас получилось:

    # cd /etc/vsftpd/

    # cat vusers.txt

    Вывод команды:

    leexa

    123456

    liuko

    654321

    Теперь можно создать саму базу:

    # db_load -T -t hash -f vusers.txt vsftpd.db

    # chmod 600 vsftpd.db

    И удалим файл vusers.txt

    # rm  vusers.txt

    3. Конфигурирование VSFTPD для использование виртуальных пользователей

    Заходим в файл vsftpd.conf и добавляем иди изменяем следующие строки:

    # vi vsftpd.conf

    anonymous_enable=NO

    local_enable=YES

    # Виртуальные пользователи могут использовать такие же привилегии как и

    # локальные пользователи

    virtual_use_local_privs=YES

    write_enable=YES

    # Установим имя пам сервмса который будет испольвать vsftpd

    # По умолчанию Centos использует /etc/pam.d/vsftpd

    pam_service_name=vsftpd.virtual

    # Активация виртуальных пользователей

    guest_enable=YES

    # Параметр используется для автоматического создания домашнего каталога

    # для каждого виртуального пользователя, на основе шаблона.

    user_sub_token=$USER

    local_root=/home/vftp/$USER

    chroot_local_user=YES

    # Если включено, все о пользователях и группах в каталоге списки будут

    # отображаться как "FTP".

    hide_ids=YES

    4. Создадим PAM файл который будет использовать ваша новая база

    # vi /etc/pam.d/vsftpd.virtual

    И добавим в него следующее:

    #%PAM-1.0

    auth       required     pam_userdb.so db=/etc/vsftpd/vsftpd

    account    required     pam_userdb.so db=/etc/vsftpd/vsftpd

    session    required     pam_loginuid.so

    5. Создадим место для файлов:

    Нам нужно настроить расположение файлов и каталогов для виртуальных пользователей. Это можно сделать следующими командами:

    # mkdir /home/ftp/

    # mkdir -p /home/ftp/{leexa,leexa1}

    # chown ftp:ftp /home/ftp

    6. Перезагрузим ftp сервер

    # service vsftpd restart

    7. Проверим что у нас получилось (для проверки использую стандартный клиент ftp):

    debian:~# ftp 10.0.0.197

    Connected to 10.0.0.197.

    220 (vsFTPd 2.0.5)

    Name (10.0.0.197:root): leexa

    530 Please login with USER and PASS.

    530 Please login with USER and PASS.

    SSL not available

    331 Please specify the password.

    Password:

    230 Login successful.

    Remote system type is UNIX.

    Using binary mode to transfer files.

    ftp>

    8. Ну вот и всё!

    Автор: admin, 30 июня 2010
    Рубрики: OS Linux, Новости
    Метки: ,
    Есть 1 комментарий. к сообщению: “Использование виртуальных пользователей в VSFTPD (Berkeley DB + PAM)”
    1. Gall:

      Спасибо, статья полезная, своевременная и подробная.
      Можно даже сказать как в поговорке: «Хороша ложка к обедую».

    Написать комментарий

    Последние статьи