The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Пошаговая настройка vsftpd 2.0.5 на сервере под управлением Fedora Core 7 (vsftpd ftp linux fedora)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: vsftpd, ftp, linux, fedora,  (найти похожие документы)
From: Данил <danil@sunrise-ufa.ru.> Newsgroups: email Date: Mon, 4 Feb 2008 14:31:37 +0000 (UTC) Subject: Пошаговая настройка vsftpd 2.0.5 на сервере под управлением Fedora Core 7 Итак нам необходим FTP сервер, с возможностью создания виртуальных пользователей и назначения им любых каталогов. 1. Получим права root # su -l 2. Установим сервер # yum install vsftpd 3. Заходим в каталог /usr/share/doc/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS проверим содержимое каталога # ls logins.txt README README.dir vsftpd.conf vsftpd.pam vsftpd.pam.dir Итак видим обширный материал для размышления ;). копируем необходимые файлы в нужные каталоги 4. #cp logins.txt /etc/vsftpd 5. #cp vsftpd.conf /etc/vsftpd 6. #cp vsftpd.pam /etc/pam.d/ftp 7. Создаем дополнительный каталог для настроек пользователей #mkdir /etc/vsftpd/users 8. Приводим файл /etc/vsftpd/vsftpd.conf следующему содержанию # наш сервер не будет анонимным anonymous_enable=NO local_enable=YES write_enable=YES #папка по умолчанию local_root=/data anon_upload_enable=YES anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES #т.к. будем использовать виртуальных пользователей то нужно привести их к пользователю #сервера с минимальными правами guest_enable=YES guest_username=ftpuser #укажем папку для хранения дополнительных конфигов user_config_dir=/etc/vsftpd/users/ virtual_use_local_privs=YES # выставим нужные права chmod_enable=YES chown_uploads=YES chown_username=ftpuser # маска создание и чтение файлов - очень важные параметры я убил 2 дня # на поиски решения (при #создании каталогов - пользователи не могли в # них попасть т.к. не было прав) local_umask=0022 anon_umask=0007 file_open_mode=0777 listen=YES listen_port=21 pasv_min_port=30000 pasv_max_port=30999 xferlog_std_format=YES xferlog_file=/var/log/vsftpd.log tcp_wrappers=YES dirmessage_enable=YES ftpd_banner=Welcome to Trancecity.ru 9.Создадим пользователя с минимальными правами. #useradd -d /data ftpuser 10.Создадим небольшой скрипт для внесения пользователей #touch /etc/vsftpd/useradd.sh со следующим содержанием: rm -f /etc/vsftpd/login.db db42_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db service vsftpd restart # chmod +x /etc/vsftpd/useradd.sh db42_load -T -t hash -f logins.txt /etc/vsftpd/login.db Последняя команда преобразует текстовый файл logins.txt, в который в формате обычного текста внесем логины и пароли в таком вот формате: login1 passwd1 login2 passwd2 в базу данных Berkeley, которая должна быть установлена (в большинстве случаев по умолчанию) 11. Итак теперь почти все готово для запуска фтп, остается назначить пользователям нужные права, создадим 2 файла # touch /etc/vsftpd/users/login1 # touch /etc/vsftpd/users/login2 итак пользователю login1 мы дадим полные права на каталог /data содержание файла local_root=/data anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES chroot_local_user=NO пользователю login2 мы создадим подкаталог /data/login2 # mkdir /data/login1 # chown ftpuser:ftp /data/login2 и файл с настройками будет выглядить след образом local_root=/data/login2 anon_upload_enable=YES # разрешим аплоад anon_mkdir_write_enable=YES # разрешим создание и удаление каталогов в своем каталоге anon_other_write_enable=NO # запретим удаление файлов chroot_local_user=NO примечание: Если эти anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO параметры будут в таком виде пользователь сможет ходить по указанной ему папке но ничего кроме как скачать делать не сможет 12. #service vsftpd restart Вот и все.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Valera (??), 13:59, 01/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По пробовал ваш способ. При подключении говорит логин и пароль не верен.

    При запуске скрипта ругается на
    rm -f /etc/vsftpd/login.db
            db42_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
            service vsftpd restart
            # chmod +x  /etc/vsftpd/useradd.sh

            db42_load -T -t hash -f logins.txt /etc/vsftpd/login.db

    db42_load - на отсутствие.
    В какой пакет входит

     
  • 1.2, Александр (??), 12:31, 25/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такая же фигня ... ну с db42_load - все просто пишем  
    db_load и ОК ... а вот ошибочку все равно выдает...
    Что делать-то????
     
  • 1.3, Kastey (?), 13:41, 05/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    у меня тоже была проблема с логином и паролем
    помогло внимание :)
    6. cp vsftpd.pam /etc/pam.d/ftp

    я по невнимательности скопировал в /etc/vsftpd
    а когда исправился то заработало

     
  • 1.4, slako (?), 22:01, 18/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличный тутор, спасибо!
    d42_load устанавливается через
    yum install compat-db
     
  • 1.5, Дидар (?), 11:34, 23/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ошибка 530 неправильный логин или пароль помогите пожалуйста вроде все сделал точь как здесь описано
    rm -f /etc/vsftpd/login.db
            db42_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
            service vsftpd restart
            # chmod +x  /etc/vsftpd/useradd.sh

            db42_load -T -t hash -f logins.txt /etc/vsftpd/login.db

    чета этот скрипт у меня ничего не хочет делать наCentOS 5
    базa данных Berkeley установлена
    Package db4-utils
    Class Applications/Databases
    Version 4.3.29-9.fc6

     
  • 1.6, Сергей (??), 14:14, 29/06/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ошибка 530 (всё по инструкции)
     
  • 1.7, Alex (??), 10:30, 08/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    530 this ftp server is anonymous only
     
  • 1.8, 3JIODEU (?), 06:09, 15/08/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ман хороший ))вот ток в мане самого vsftpd кое что написанно про pam аунтификацию вертуальных пользователей, аунтификация происходит чтением собственно login.db pam'ом. В дистрибутивах x86_64 в /etc/pam.d/ftp нужны такие вот строки
    auth required /lib64/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
    account required /lib64/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
    и собственно для i386
    auth required /lib/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
    account required /lib/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
    далее в /etc/pam.d/vsftpd
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
    или для i386
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/login

    теперь будет происходить пам аунтификация
    делал на fedore 9

    да и не забываете про compat-db

     
  • 1.9, 3JIODEU (?), 06:31, 15/08/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в vsftpd.conf нужно ещё pam_service_name=ftp или pam_service_name=vsftpd
     
  • 1.10, 3JIODEU (?), 17:41, 25/08/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    блин если не заработало снесите и занова поставте мне помоголо)))
     
  • 1.11, eskander (?), 11:00, 10/09/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    выполнил посты " Kastey"(таже ошибка),slako,3JIODEU с заменой всего содержимого /etc/pam.d/ftp , в принципе это фаил можно не копировать а просто создать
    ну и заремил содержимое файла /etc/vsftpd/users/login1 и соответственно /etc/vsftpd/users/login2 только после этого перестал ругатся на ошибки в нём и стал пускать

    centos 5.2 64x

    осталось добить кодировку :)

     
  • 1.12, zerghack007 (?), 09:52, 21/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нашел ошибку.
    Параметр virtual_use_local_privs должен быть выставлен как NO, иначе правила виртуальных юзеров не будут работать:

    > итак пользователю login1 мы дадим полные права > на каталог /data
    > содержание файла
    >        local_root=/data
    >        anon_upload_enable=YES
    >        anon_mkdir_write_enable=YES
    >        anon_other_write_enable=YES
    >        chroot_local_user=NO

     
     
  • 2.22, Gerasim (?), 23:58, 25/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Если ставлю virtual_use_local_privs=NO, права виртуальных работают, но не удается изменить атребуты файлов через ftp, тогда как при установке "YES" атребуты позволяет менять, но прававсех виртов как у локального ftpuser. Подскажите чем может быть проблема?
     

  • 1.13, Dmitriy (??), 19:53, 11/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пробовал выполнять все, предложенное здесь. Реальных юзеров пускает, виртуальных - нет. Slackware 10.1
     
  • 1.14, Sigma (?), 11:15, 15/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пользователь 3JIODEU прав.
    Только править надо либо /etc/pam.d/ftp либо /etc/pam.d/vsftpd, в зависимости от того, что стоит в параметре pam_service_name в vsftpd.conf
    У меня все работает.
     
  • 1.15, antares (ok), 14:57, 29/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если много пользователей лучше при добавлении пользователя делать vsftpd reload нежели restart.  у качающих хоть не оборвет связь
     
  • 1.16, Zhelezaka (?), 01:14, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё настроил по данному мануалу, но вот в файле /etc/pam.d/vsftpd сделал так

    auth sufficient pam_userdb.so db=/etc/vsftpd/virtual_users unknown_ok debug
    account sufficient pam_userdb.so db=/etc/vsftpd/virtual_users unknown_ok debug
    session optional pam_keyinit.so force revoke
    auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
    #auth required pam_shells.so
    auth include system-auth
    account include system-auth
    session include system-auth
    session required pam_loginuid.so

    P.S. Долго не мог понять, где же он db42_load.... а это БД Berkeley и в Debian пакет db4.2-util называется

     
  • 1.17, 3JIODEU (?), 12:27, 10/08/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь в последующих дистрибутивах как ОС так и vsftpd при исполнении скрипта будем видеть ошибку
    db46_load: unexpected end of input data or key/data pair
    db46_load: odd number of key/data pairs
    решение: заменяем в скрипте useradd.sh строки db42_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db где db42-не обязательно 42 в зависимости от версии берклея, на
    awk -F: '{print}' < /etc/vsftpd/logins.txt | db46_load -T -t hash /etc/vsftpd/login.db как видем тут уже берклей 46 - эта ситуация уже тоже была описанна на opennet к сожелению пользователя не помню, и не в этой теме, кто не встретит данной проблемы сёравно рекомендую сделать именно такой скрипт с таким содержанием
     
     
  • 2.18, Vov4ik (?), 23:32, 21/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Теперь в последующих дистрибутивах как ОС так и vsftpd при исполнении скрипта
    >будем видеть ошибку
    >db46_load: unexpected end of input data or key/data pair
    >db46_load: odd number of key/data pairs
    >решение: заменяем в скрипте useradd.sh строки db42_load -T -t hash -f /etc/vsftpd/logins.txt
    >/etc/vsftpd/login.db где db42-не обязательно 42 в зависимости от версии берклея, на
    >
    >awk -F: '{print}' < /etc/vsftpd/logins.txt | db46_load -T -t hash /etc/vsftpd/login.db >...

    У меня решилось по-другому: поставил треил энтер, т.е. нажал ввод после последней строки списка и сообщения пропали.
    P.S. сервер openSuSE 11.1


     

  • 1.19, midori (?), 14:32, 06/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все по инструкции - НЕ СРАБОТАЛО.
    Прописываю в vsftpd.conf "pam_service_name=vsftpd.pam" - ПОШЛО!

    CentOS 5.4

     
  • 1.20, Blackpoint (ok), 20:25, 09/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто знает, как можно дать права на чтение/запись/удаление одному виртуальному юзеру на несколько разных папок, а не только на его домашнюю?
     
  • 1.21, weLst0v (?), 02:02, 22/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    fc12 x86_64 vsftpd 2.2.0
    Долго и упорно получал ошибку 530, так как ни в какую не хотел использовать именно /lib64/security/pam_userdb.so а не /lib/security/pam_userdb.so
    Править и в самом деле надо либо /etc/pam.d/ftp, либо /etc/pam.d/vsftpd
    Пользовательскую db создавал c помощью /usr/bin/db46_load
    Корневой каталог для данных ftp-сервера всё равно должен быть только для рута. А то засунул я его в недра пользовательского профиля и получил сообщение об отсутствии пути. bind-ом , впрочем, всё что надо подмонтируется влёгкую.
    Короче, пока не врубишься что тут и зачем - ничего не работает, а через часок другой смысл "что такого делаю" дошёл и виртуальные пользователи заработали. :)
     
  • 1.23, rona (?), 14:01, 06/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    имеем - федора 12 32бит, локальная сеть(точнее доступ к фтп только по локалке надо)
    путем долгих мучений вроде заработал фтп сервер, пускает в папку /var/ftp/pub

    проблема вот в чем:
    основной диск сервера имеет небольшой размер, я создал директорию /var/ftp/pub/shara и смонтировал туда раздел со второго(физически) диска, тоесть при запуске системы он теперь автоматом монтируется, я могу с ним работать, но!!  -  эта папка не показывается через фтп в папке pub!
    все остальные файлы видно

    предполагаю что проблема в правах, но сам немогу разобратся, прошу помочь :)

     
     
  • 2.25, combucho (?), 02:25, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте bind при монтировании, типа так

    [cmbch@arch ~]$ cat /etc/fstab | grep bind
    /mnt/data/Install /srv/ftp/install none bind

     
  • 2.28, admSpiker (?), 13:38, 23/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогичная проблема. Не видно содержимое папок. Бинд был аналогично 25 посту. Подскажите куда рыть.


     

  • 1.24, Ефремов (?), 22:04, 16/08/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо за отличную статью!
     
  • 1.26, Dmitry (??), 14:00, 11/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Help!!! Не раздаются права на вложенное содержимое, то есть при загрузке структуры каталогов всё что глубже верхнего каталога не  видно. В чём может быть проблема?
     
  • 1.27, SHPROT (?), 13:28, 29/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все сделал как написанно, но пытаюсь зайти под пользователем login1 или login2 пишет
    530 Login incorrect.
    Login failed.
    что делать?
     
  • 1.29, sashker (?), 10:24, 06/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Попробуйте в конфиге прописать:
    pam_service_name=vsftpd (без .pam)
     
  • 1.30, Eternal (?), 04:20, 17/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    почему-то при повторном залогивании пароль долго проверяется. как это поправить?
     
  • 1.31, Dimon (??), 19:47, 10/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как сделать полный лог всех действий пользователя?
    Запись файлов, создания каталогов и т.д.
     
     
  • 2.32, Dimon (??), 19:51, 10/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Кому интересно)))
    написав эти строчки - получил полный лог всех действий.

    xferlog_enable=YES
    xferlog_std_format=NO
    xferlog_file=/var/log/vsftpd.log
    log_ftp_protocol=YES

    Правда через некоторое время лог фаил становитса весьма обьёмным)))

     

  • 1.33, d1garch (?), 18:14, 20/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    настроил все как вы написали... только сделал один логин вместо двух и в правах этого пользователя поставил

    local_root=/   #вместо local_root=/data

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

    пробовал зайти без пароля и под другим логином и паролем - таже ситуевина. Как быть?

     
  • 1.34, Denis (??), 22:53, 13/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    установка и настройка vsftpd на centos 6 – http://idp.org.ua/vsftpd/
     
  • 1.35, Anton (??), 13:47, 30/11/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как настроить, чтобы пользователь видел содержимое папок соседей, но только в режиме read only?
     
  • 1.36, Алекс (??), 10:46, 31/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Настроил vsftpd (у меня только локальные пользователи могут читать и писать).

    Вопросы:
    1. Папки создаются с правами 777 - это можно где-нибудь изменить?
    2. Файлы и папки создаются от имени пользователя, залившего файл. Для анонимов chown есть в конфиге, а можно ли сделать chown для локального пользователя (чтобы при заливке от разных пользователей все файлы были одного хозяина)..

     
  • 1.37, admin (??), 12:37, 23/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо, статья когда-то помогла разобраться и поднять свой первый ftp-сервер под Linux, вот здесь вариант под centos - http://sanotes.ru/vsftpd-ftp-server-linux/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру