TwoFTPD

Twoftpd, универсальный ftp сервер настройка которого довольно проста, функционал при этом включает возможность работы с виртуальными пользователями, не существующими в системе и chroot. chroot — возможность создания рамок для FTP пользователя, указание каталога, который он будет видеть как корень сервера и за пределы которого выйти не сможет.


Установка и настройка FTP сервера TwoFTPD на Debian Wheezy

Обновляем список репозиториев и устанавливаем пакет

apt-get update

apt-get install twoftpd

 

Переходим в каталог /etc/twoftpd и редактируем конфигурационные файлы

cd /etc/twoftpd

mcedit run

#!/bin/sh
exec 2>&1
umask 022
exec tcpsvd -v -llocalhost 0 21 \
chpst -m30000000 -e./env \
twoftpd-auth cvm-pwfile twoftpd-xfer

 

В последней строке задан pwfile, т.е. информацию о пользователях twoftpd будет брать из файла, который будет создан на одном из последующих шагов.

 

cd env/

 

Далее создаем файлы, которые потребуются для работы пакета при их отсутствии и вставляем приведенное содержимое каждого из них

mcedit CVM_PWFILE_PATH

/etc/twoftpd/passwd

 

mcedit CVM_PWFILE_PWCMP

crypt

 

 

mcedit LOGREQUESTS

1

 

Теперь создаем файл, в котором будут храниться данные о пользователях и зашифрованные пароли

touch /etc/twoftpd/passwd

 

Также добавляем в файл /var/log/twoftpd/config 2 строки 1) s10000000,  2) n14. Ключ -e используем чтобы команда echo корректно считала символ переноса строки

echo -e «s10000000 \n n14» > /var/log/twoftpd/config

 

После завершения настроек содержимое каталога с конфигурационными файлами пакета должно выглядеть так:
ftp сервер настройка

Добавление пользователей Twoftpd

Далее шифруем пароль при помощи утилиты mkpasswd

 mkpasswd -m md5 PASSWORD

 

PASSWORD потребуется заменить на настоящий более сложный пароль пользователя

 

Добавляем имя пользователя, пароль, домашний каталог пользователя, и оболочку

mcedit /etc/twoftpd/passwd

user:$1$oVl7mKv6$o96hqhAQJzRqw9CtNliXI0:1000:1000::/var/www/sites/example.com:/bin/false

 

user — имя пользователя twoftpd

$1$oVl7mKv6$o96hqhAQJzRqw9CtNliXI0 — зашифрованный пароль PASSWORD

/var/www/sites/example.com — домашний каталог пользователя

/bin/false — оболочка, не позволяющая авторизацию

 

 

Перезапускаем twoftpd

sv t twoftpd

 

Затем проверяем состояние сервиса

sv s twoftpd

 

twoftpd — ftp сервер настройка которого имеет свои особенности, но выполнив ее можно получить сервер способный обеспечивать работу виртуальных пользователей. Часто это нужно для интеграции с 1С. Для нормальной работы twoftpd потребуется выставить на каталоги с которыми, работает пакет права 777.

Альтернативой twoftpd может быть proftpd — он гораздо быстрее настраивается, но не позволяет легко создавать пользователей FTP, которые не являются системными.