Задача — установить и настроить ProFTPd сервер на Debian/Ubuntu, допустим, для того, чтобы получать доступ к сайтам расположенным на нашем сервере в каталоге /home/hosts.
Для начала установим FTP-сервер ProFTPd:
Код
$ sudo apt-get install proftpd
Во время установки выбираем режим «standalone» («самостоятельно»).
Теперь отредактируем файл конфига:
Код
$ sudo nano /etc/proftpd/proftpd.conf
Отредактируем там некоторые строки (раскомментировать те, которые закомментированы, т.е. перед ними стоит знак решетки «#»):
Код
UseIPv6 off
ListOptions "-la"
DefaultRoot ~
RequireValidShell off
ListOptions "-la"
DefaultRoot ~
RequireValidShell off
Отредактируем файл с шелами:
Код
$ sudo nano /etc/shells
Добавим туда строку:
Код
/bin/false
Теперь создадим тестового пользователя с именем testuser и папку /home/hosts, которая будет являться его домашней папкой:
Код
$ sudo mkdir -p /home/hosts
$ sudo useradd testuser -d /home/hosts -s /bin/false
$ sudo passwd testuser
$ sudo chown -R testuser /home/hosts
$ sudo chmod 755 /home/hosts
$ sudo useradd testuser -d /home/hosts -s /bin/false
$ sudo passwd testuser
$ sudo chown -R testuser /home/hosts
$ sudo chmod 755 /home/hosts
Для того, чтобы «врубить» перекодировку из utf-8 в CP1251 на лету в конфиг добавляем следующее:
Код
<IfModule mod_lang.c>
UseEncoding utf8 cp1251
</IfModule>
UseEncoding utf8 cp1251
</IfModule>
Перезапустим FTP-сервер:
Код
$ sudo service proftpd restart
Теперь можно будет заходить на ваш FTP-сервер с логином testuser и паролем, который вы укажете после введения команды passwd testuser. Пользователь будет «заперт» в своей домашней директории, т.е. для него она будет являться корневой и за ее пределы он не сможет выйти.