ProFtpd - FTP -- Сервер

ProFtpd - мощный и очень популярный ftp сервер. Установка будет производится на операционной системе Debian. Настроим разграничение прав на директории, чтобы каждый пользователь получил доступ только в собственную папку и не имел доступ в чужие.

Установка proftpd.

sudo apt-get install proftpd
выбираем тип запуска "standalone" (самостоятельно)


Настраиваем ProFtpd для работы с виртуальными пользователями.

В конец конфигурационного файла /etc/proftpd/proftpd.conf добавим следующую строку:
AuthUserFile /etc/proftpd/ftpd.passwd
ftpd.passwd этот файл служит для хранения учетных записей и для авторизации пользователей.
Ну и собственно создаём пользователя:
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=vinamin --shell=/bin/false --home=/www/texnoblog/ --uid=106 --gid=65534
и вводим пароль.
Эта комманда создаст пользователя "vinamin" с uid=106 и gid=65534 (такие же как и у системного пользователя ftp), домашней директориией для которго будет /www/texnoblog/, шелл у "vinamin" отсутствует (--shell=/bin/false)
Создадим ещё одного пользователя.
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=grisha --shell=/bin/false --home=/www/gci/ --uid=106 --gid=65534
И так, сайт vinamina это - /www/texnoblog/, а сайт Рината это - /www/gci/, необходимо, чтобы vinamin при соединении с сервером попадал сразу в свой каталог /www/texnoblog/ и не мог подняться выше него, т.е. не видел сайт Гриши, а Гриши в свою очередь ходил бы только в свой каталог /www/gci/ и не лазил бы к Vinaminu.
Для реализации вышеописанного будем использовать файл .ftpaccess.


Создадим файл .ftpaccess в каталоге /www/texnoblog/
sudo touch /www/texnoblog/.ftpaccess
и впишем туда:
Order deny,allow
Allowuser vinamin

Точно так же необходимо создать файл и в каталоге /www/gci/, только заменив пользователя:
Order deny,allow
Allowuser grisha

В файлах мы запрещаем кому-либо доступ к каталогу и разрешаем доступ указанному пользователю (директива "Allowuser"), естественно он должен присутствовать в файле /etc/proftpd/ftpd.passwd.

Статью про ProFTP я не закончил будет продолжение с хранением пользователей в MYSQL.