Установка и настройка ProFtpd по SSH

Итак, мы имеем сервер под управлением ОС Ubuntu. В данном случае это Ubuntu 12.04 LTS. Задача: посредством SSH установить и запустить FTP-сервер. В качестве ftp-сервера выбран довольно известный ProFtpd. Начнем!

Для установки достаточно выполнить команду:
apt-get install proftpd

Во время установки выбираем тип запуска «standalone». Установился? Готово! Осталось создать и настроить пользователей.

Выполним команду:
nano /etc/proftpd/proftpd.conf

В конец файла добавляем строку:
AuthUserFile /etc/proftpd/ftpd.passwd

Данная строка будет означать, что для авторизации пользователей используется файл «ftpd.passwd».

Теперь перейдем к созданию пользователей. Для начала создадим для них каталоги. Например, выберем каталог «home». Создадим подпапку «ftp», а уже в ней две папки для пользователей:
mkdir ftp
cd ftp
mkdir user1folder
mkdir user2folder

Теперь, во избежание проблем с правами, назначим каждой папке «proftpd» как владельца. Сначала выполним команду:
id proftpd

В качестве ответа мы получим что-то похожее на это:
uid=100 gid=65500(nogroup) groups=65500(nogroup)

Нам понадобятся параметры «uid» и «gid».

Во избежание проблем с правами на запись в будущем выполняем следующую команду:
chown -R proftpd:nogroup /home/ftp

Этой командой мы присвоили права на папку «ftp» и ее подпапки сервису «proftpd».

Теперь создаем самих пользователей (не забываем про ранее полученные числовые значения uid и gid):
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=user1 --shell=/bin/false --home=/home/ftp/user1folder/ --uid=100 --gid=65500

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=user2 --shell=/bin/false --home=/home/ftp/user2folder/ --uid=100 --gid=65500

Вдобавок, давайте создадим администратора, который будет иметь доступ к каталогам пользователей:
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=admin --shell=/bin/false --home=/home/ftp/ --uid=100 --gid=65500

После запуска каждой команды вам нужно будет указать пароль для пользователя, который упоминается в этой команде. Создали пользователей, указали пароли? Готово.

Последний штрих — ограничить пользователей перемещениями только в своих папках. Для этого создаем по файлу «.ftpaccess» в каждой из двух папок:
touch /home/ftp/user1folder/.ftpaccess
touch /home/ftp/user1folder/.ftpaccess

Теперь откроем файл для редактирования:
nano /home/ftp/user1folder/.ftpaccess

Впишем туда следующее:
<Limit READ WRITE DIRS>
Order deny,allow
Allowuser user1, admin
</Limit>

Точно также открываем второй файл для редактирования:
nano /home/ftp/user2folder/.ftpaccess

Впишем туда следующее:
<Limit READ WRITE DIRS>
Order deny,allow
Allowuser user2, admin
</Limit>

Cоздаем такой же в родительском каталоге:
touch /home/ftp/.ftpaccess

Открываем для редактирования:
nano /home/ftp/.ftpaccess

Пишем туда следующее:
<Limit READ WRITE DIRS>
Order deny,allow
Allowuser admin
</Limit>

Если при создании новых пользователей оставлять эти файлы пустыми или неправильно составленными, то ваш пользователь, которого вы пустите на FTP, предварительно создав ему нового ftp-пользователя, может получать ошибку:

550 PWD: Permission denied

Рекомендую внимательно отнестись к этому шагу настройки FTP-сервера.

С созданием пользователей закончено. Можно, конечно, еще раз пройтись по файлу конфигурации «proftpd.conf», удостовериться, что вы все опции прописали правильно. В завершение перезапустим сервер, чтобы он подхватил наши настройки и пользователей:
service proftpd restart

Все! Наш FTP-сервер готов к работе.

Оставить комментарий