Sunday, July 4, 2010

FreeBSD: Базовая настройка ProFTPD

Настройка proftpd для обновления web-сайтов по FTP.

Устанавливаем proftpd из портов:

# cd /usr/ports/*/proftpd && make install clean

После установки добавляем proftpd_enable="YES" в /etc/rc.conf для того, чтобы FTP-сервер запускался при старте системы.

Далее, правим конфиг (/usr/local/etc/proftpd.conf).  Мне понадобились следующие опции:

  • RequireValidShell off
    Не требовать, чтобы пользователь имел валидный шелл.

  • ListOptions -a
    Отображать скрытые файлы в листингах (например, .htaccess).

  • AuthUserFile /usr/local/etc/ftpd.passwd
    passwd-файл с "виртуальными" ftp-пользователями (к нему вернемся чуть позже).

  • AuthOrder mod_auth_file.c
    Использовать наш passwd-файл (и только его) для аутентификации.

  • DefaultRoot ~
    Корневая папка по умолчанию соответствует домашнему каталогу пользователя (chroot).


Создаем файл /usr/local/etc/ftpd.passwd скриптом ftpasswd:

# cd /usr/local/etc
# ftpasswd --passwd --name user1 --home /var/dir1 --shell /usr/sbin/nologin --uid 80
# ftpasswd --passwd --name user2 --home /var/dir2 --shell /usr/sbin/nologin --uid 80


Здесь я нарочно устанавливаю обоим юзверям uid 80 (такой же, как у апача), чтобы не было проблем с правами.

Можно стартовать сервер:

# /usr/local/etc/rc.d/proftpd start

No comments:

Post a Comment