Разделы
3com [1]
Acorp [1]
Asus [2]
D-Link [4]
Huawei [3]
iStor [1]
Netgear [1]
Zyxel [6]
Интеркросс [2]
Настройка ПО [21]
RoutePrint » Настройка ПО

Анонимный FTP-сервер с поддержкой аплода на Ubuntu



Задачи сделать какое-то защищённое или частично защищённое хранилище для файлов не было - нужна самаяпростая помойка с неограниченным доступов в её пределах.
Сперва пробовал настроить vsftpd по многочисленным инструкциям, но в конечном счёте не удалось заставить его назначать нужные права. С proFTPd всё оказалось намного проще.
Первым делом нужно установить сам пакет. В ubuntu просто делаем:

sudo apt-get install proftpd-basic

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

mkdir /var/ftp# Папка для фтп, но не для файлопомйки
chmod 555 /var/ftp # Папку можно только читать всем
groupadd ftpuser # Добавили группу ftpuser
# Создали пользователя ftpuser с домашней директорией /var/ftp и без шелла
useradd ftpuser -g ftpuser -d /var/ftp -s /sbin/nologin
chown root:ftpuser /var/ftp # Владельцем назначили root'а, группа будет ftpuser
mkdir /var/ftp/pub # Папка, где будут храниться файлы
chown ftpuser:ftpuser /var/ftp/pub
chmod 775 /var/ftp/pub # Полный контроль ftpuser (пользователь и группа), остальным чтение

Проделанные манипуляции позволят отдать на растерзание пользователям папку pub, которая и будет файлопомойкой. Естественно, за её пределы пользователи попадать не должны.
Следующим шагом будетредактирование конфигурации самого proFTPd. Найти её можно здесь: /etc/proftpd/proftpd.conf.
Сразу приведу пример своего небольшого готового конфига, позволяющего дать полный контроль над папкой пользователю anonymous:

ServerName "name"
ServerType standalone # Сервер будет сам слушать запросы на соединение
DefaultServer on
Port 21 # Можно переназначить для большей безопасности
PassivePorts 10000 10001 # Порты для пассивного режима; если различные фаерволы\NAT не мешают, можно убрать
User nobody # Для безопасности
Group nogroup
MaxClientsPerHost 10 "Не больше 10 подключений" # Ограничение подключений с одного хоста
MaxInstances 10 # Максимум подключений
TimeoutStalled 300 # Таймауты до отключения
TimeoutNoTransfer 600
PersistentPasswd off
DefaultRoot /var/ftp/pub # Папка по умолчанию для всех
UseEncoding UTF8 CP1251 # Используемые кодировки
# Эта секция запрещает логин всем
<Limit LOGIN>
DenyAll
</Limit>
# Секция для пользователя anonymous - папка /var/ftp/pub
<Anonymous /var/ftp/pub>
User ftpuser # От какого пользователя и группы ведутся действия
Group ftpuser
UserAlias anonymous ftpuser # Алиас для псевдонима: пользователя
AnonRequirePassword off # Не запрашивать пароль
# Эта секция разрешает логин
# В моём случае логин возможен только с localhost, укажите свои ограничения
# или оставьте AllowAll для всех пользователей
<Limit LOGIN>
AllowAll 127.0.0.1
</Limit>

RequireValidShell off # Не проверять шелл пользователя
MaxClients 10 # Максимум подключений
AllowOverwrite on # Разрешаем перезапись файлов
</Anonymous>

Данная конфигурация отключает возможность залогиниться на сервере, кроме как пользователю anonymous. Использование пассивных портов оправдано не всегда. Почитать про разницу между активным и пассивным режимом ftp можно по ссылке - http://mynetnotes.livejournal.com/5952.html
СтрокаAllowAll 127.0.0.1 позволяет лоигиниться только на локалхосте - в моём случае пользователи сидят на сервере через проброшенные порты на SSH.


Такая небольшая и простая конфигурация позволяет развернуть файлопомойку, где не нужно логиниться, а пользователи могут творить всё, что угодно: скачивать и закачивать файлы, заменять файлы на сервере, создавать и удалять папки, удалять файлы.

Из замеченных проблем: в proFTPd почему-то опцияAnonRequirePassword off не отключает запрос пароля для anonymous - пароль такой же. Получается, что анонимный вход без пароля равносилен входу по anonymous/anonymous.

Всего комментариев: 1
1 Playncalkaria  
0
tema

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Облако тегов
vpn wl500g роутер 500g pvc dsl настройка mt880 hosts не загружаются страницы route add маршрутизация TCP настройка сети прописать ip проброс портов port forwarding настройка dc internet explorer подключение удаленного доступа dsl 2500 проброс портов dlink 2500 hg510 huawei настройка mt880 интеркросс старая прошивка настройка интеркросс 5633 проброс портов интеркросс 5633 настройка p660 проброс портов zyxel p660 настройка маршрутизаторы dir 400 проброс портов dlink 400 настройка 420 проброс портов acorp 420 настройка iS607 для дома nas настройка iStor 607 маршрутизатор dir 300 проброс портов dlink 300 настройка не открывается веб-интерфейс неисправный модем неисправный роутер am602 am604 настройка asus am интеркросс не работает интернет многопортовый интеркросс d-link dvg VoIP Настройка роутера 3com l2tp pptp wgr614v9 настройка netgear Linux Ubuntu Сетевая установка OPL playstation2 SMS zyxel p660 настройка модема wake-on-lan ubuntu Giga zyxel keenetic giga настройка giga VirtualBox WinSCP anonymous ftp upload ProFTPD ubuntu ftp RDP rdp linux rdp ubuntu samba SSH smb over ssh wol wake on lan wol online rdp 9 перенос rdp порт rdp initialization sequence completed w open vpn ошибки open vpn keenetic в режиме моста бридж Мост