Vsftpd дежурный конфиг ftp сервераПодписка на Комментарии к "Vsftpd дежурный конфиг ftp сервера"

Аватар zenon

Бывают ситуации, когда необходимо быстро и не вдаваясь в подробности поднять ftp сервер, у меня для этого служит дежурная конфигурация vsftpd.
Сначала установим его.

$ aptitude install vsftpd

Итак - конфигурация смешанного ftp, анонимный доступ + доступ для локальных пользователей.
Архитектура анонимного vsftpd не предусматривает ситуации когда корневой каталог анонимного пользователя доступен на запись, удаление или создание каталогов. Поэтому для возможности записи анонимами, создаем каталог incoming/ с владельцем ‘ftp’.

$ mkdir -p /var/www/ftp
$ chmod 555 /var/www/ftp
$ chown root:ftp /var/www/ftp
$ mkdir /var/www/ftp/incoming
$ chown ftp:ftp /var/www/ftp/incoming
$ nano /etc/vsftpd/vsftpd.conf
  • /etc/vsftpd/vsftpd.conf:
  • listen=YES
    # делаем анонимный доступ, с правом записи
    anonymous_enable=YES
    no_anon_password=YES
    anon_root=/var/www/ftp/incoming
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    anon_umask=022
    # разрешаем вход локальным пользователям
    # с правом записи в домашних директориях
    local_enable=YES
    local_umask=022
    write_enable=YES
    # помещаем локальных юзеров в их домашние каталоги,
    # иначе пользователю будет доступен корень системы.
    chroot_local_user=YES
    chroot_list_enable=NO
    # настройки журналирования
    xferlog_enable=NO
    vsftpd_log_file=/var/log/vsftpd.log

    Ну и собственно запускаем ftp сервер:

    $ /etc/init.d/vsftpd start
     * Starting vsftpd ...                                                              [ ok ]

    Ссылки:
    Официальный веб-сайт.
    Неофициальный русский сайт.
    Вики-сайт vsftpd.
    www.brennan.id.au
    http://vsftpd.devnet.ru/rus/

    ++++
    ++++
    Внимание тем кто использует версию старше 2.3.5:
    При входе пользователем на FTP-Server версии 2.3.5 выдается сообщение:

    "500 OOPS: vsftpd: refusing to run with writable root inside chroot()".

    Всё верно, в 2.3.5 ужесточены правила безопасности. Теперь сервер не делает chroot() в домашний каталог пользователя, если на него стоят права на запись. Для этого необходимо произвести перенастройку домашних каталогов, либо запретить опцию chroot_local_user. Если всё таки необходим chroot() в домашний каталог пользователя с правами на запись, то тогда можно воспользоваться введенной в расширенной сборке опцией allow_writable_root (данная опция не рекомендуется к использованию!).
    http://vsftpd.devnet.ru/rus/#faq
    Похожие материалы:

    Добавить комментарий