Итак, мы имеем сервер под управлением ОС 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-сервер готов к работе.
0 Комментарии。