В общем появилась потребность сделать ftp сервер, в этих ваших интернетах одна и также статья гуляет по всему рунету испорченная копипастерами, благодоря которой я потерял уйму времени. В общем данный мануал работает инфа 100% :)
Устанавливаем пакет proftpd:
sudo apt-get install proftpd
Отвечаем на появившийся вопрос о способе запуска: «самостоятельно».
sudo nano /etc/shells
Добавляем в него строку:
/bin/false
Создаем в /HOME каталоге папку FTP-shared(Не обязательно в корне /HOME и не обязательно такое имя папки, это просто пример):
sudo mkdir /home/FTP
Теперь создаем пользователя с именем userftp(ну или что поинтересней):
sudo useradd userftp -d /home/FTP -s /bin/false (пишем путь к папке)
sudo passwd userftp (устанавливаем пароль)
sudo mkdir /home/FTP
Присвоим права созданным папкам:
sudo chmod 777 /home/FTP
sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
sudo nano /etc/proftpd/proftpd.conf
пример файла в комментах.
user (пользователь): test
Можно создать несколько пользователей, но все они должны быть прописаны в файле proftpd.conf. Если нужно сделать анонимный доступ, следует закомментировать обе секции для test и раскомментировать секцию для Anonymous. Сервер запущен, но с параметрами по умолчанию, перезагружаем его:
sudo /etc/init.d/proftpd restart
Все работает !
- Комментировать (войти или зарегистрироваться)
1 комментарий
proftpd.conf
# отключаю протокол
UseIPv6 off
AllowOverwrite on
AuthAliasOnly on
# Здесь присваивается alias пользователю (в качестве примера присвоено имя test, его нужно изменить на свое)
UserAlias dulimov 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/digez/sites
# запрещаем выходить пользователям за пределы домашней папки (строго рекомендуется)
DefaultRoot ~
MaxLoginAttempts 5 "Количество попыток входа исчерпано - придется подождать, ничего не поделаешь, безопасность превыше всего"
#VALID LOGINS
AllowUser userftp
DenyALL
/home/digez/sites>
AllowOverwrite on
DenyAll
# # анонимный доступ
#
# User userftp
# Group nogroup
# UserAlias anonymous userftp
# MaxClients 8 "Извините, максимум %m пользователей - попробуйте подключиться позже"
# DisplayChdir .message
#
#
#
# DenyAll
#
#
#