Устанавливаю пакет proftpd:
sudo aptitude install proftpd
Перед установке потянулись еще три зависимости, согласился.
При установке пакет спрашивает о способе запуска: самостоятельно или через inetd?
Я выбираю «самостоятельно».
Затем открываю файл /etc/shells:
sudo nano /etc/shells
добавляю в него одну строку:
/bin/false
И создаю в /HOME каталоге папку FTP-shared:
sudo mkdir /home/FTP-shared
После этого создаю пользователя с именем userftp:
sudo useradd userftp -p parol -d /home/FTP-shared -s /bin/false
где вместо «parol» — ввожу слово или фразу в качестве пароля 🙂
В папке FTP-shared создаю две дополнительные папки:
sudo mkdir /home/FTP-shared/public
sudo mkdir /home/FTP-shared/upload
и даю нужные права созданным папкам:
sudo chmod 755 /home/FTP-shared sudo chmod 755 /home/FTP-shared/public sudo chmod 777 /home/FTP-shared/upload
После этого переименовываю имеющийся конфигурационный файл proftpd.conf и создаю новый:
sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
sudo nano /etc/proftpd/proftpd.conf
добавив в него следующие строки:
# отключаю протокол UseIPv6 off
AllowOverwrite on
AuthAliasOnly on
# Здесь присваивается alias пользователю (я присвоил имя donet)
UserAlias donet userftp
ServerName «server» ServerType standalone
DeferWelcome on
MultilineRFC2228 on DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600 TimeoutStalled 100
TimeoutIdle 2200
DisplayChdir .message
ListOptions «-l»
RequireValidShell off
TimeoutLogin 20
RootLogin off
# пути для логов ExtendedLog /var/log/ftp.log TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log
#DenyFilter *.*/
# Я не использую файл /etc/ftpusers (здесь вводим имена пользователей, для ограничения их доступа)
UseFtpUsers off
# Allow to restart a download
AllowStoreRestart on
# Стандартный порт для фтп 21, для повышения безопасности можно выбрать другой (произвольный):
Port 21
# повышение безопасности
MaxInstances 8
# пользователь и группа User nobody
Group nogroup
# Umask 022 ограничение на создание файлов и папок
Umask 022 022
PersistentPasswd off
MaxClients 8 «Достигнут предел на количество клиентов» MaxClientsPerHost 8 «Достигнут предел на количество клиентов с Вашего хоста» MaxClientsPerUser 8 «Достигнут предел на количество подключений (%m)»
MaxHostsPerUser 8 «Больше нельзя»
# вывод приветствия после успешного входа AccessGrantMsg «Добро пожаловать!!!» # идентификация
ServerIdent on «Мой домашний сервер»
# делаем /home/FTP-shared папку домашней
DefaultRoot /home/FTP-shared
# запрещаем выходить пользователям за пределы домашней папки (строго рекомендуется)
DefaultRoot ~
MaxLoginAttempts 5 «Количество попыток входа исчерпано — придется подождать, ничего не поделаешь, безопасность превыше всего»
#VALID LOGINS
AllowUser userftp
DenyALL
Umask 022 022
AllowOverwrite off
DenyAll
Umask 022 022
AllowOverwrite off
DenyAll
/home/FTP-shared/upload/> Umask 022 022
AllowOverwrite on
DenyAll
AllowAll
# # анонимный доступ # # User userftp # Group nogroup # UserAlias anonymous userftp # MaxClients 8 «Извините, максимум %m пользователей — попробуйте подключиться позже» # DisplayChdir .message # # # # DenyAll # #
#
Все, настройка закончена, я буду иметь доступ к фтп-серверу с параметрами доступа: user (пользователь): donet
password (пароль): parol (тот, что я присвоил для userftp)
Если нужно сделать анонимный доступ, следует закомментировать обе секции для donet и раскомментировать секцию для анонима
Теперь осталось только запустить сервер с измененными параметрами (он уже запущен, но с параметрами по умолчанию):
sudo /etc/init.d/proftpd restart
Все претензии прошу направлять автору поста (dimka3210) в /dev/null