Ru-Board.club
← Вернуться в раздел «UNIX»

» Настройка proftpd

Автор: Neoromantic
Дата сообщения: 04.11.2005 21:23
Цель: поднять FTP сервер, который будет содержать два раздела:
Раздел: анономный вход
Раздел: 2 входна ФТП с авторизацией для нескольких пользователей.
Пользователей из useradd никак не хочет пускать.

Что нужно прописать в .conf?
Автор: sda00
Дата сообщения: 07.11.2005 13:05
Neoromantic

Посмотрите здесь:
http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=8718&start=0#lt
там по-моему Dr_Spectre подкинул идейку по созданию копии скрипта инициализации (типа vsftpd и vsftpd_local), где Ваши вопросы должны решиться.
Автор: Neoromantic
Дата сообщения: 07.11.2005 13:48
Посмтрел. Там я так понял описывается настройка сквид. А про proftpd ни слова.
Автор: EDantes
Дата сообщения: 07.11.2005 14:04
Neoromantic
вот мой конфиг.
пускает анонимусов+зарегенных пользователей системы в их домашний каталог...
практически стандартный конфиг

если у тебя пользователь под которым заходят юзеры .bin/nologin/ - см. RequireValidShell


Код:
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName "FTP Server"
ServerType inetd
DefaultServer on
MaxLoginAttempts 3
UseReverseDNS off
IdentLookups off
DefaultRoot /home/./
RequireValidShell off
SystemLog none
WtmpLog off
ScoreboardFile /var/run/proftpd/proftpd.scoreboard

# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User nobody
Group nobody

# Normally, we want files to be overwriteable.
<Directory /*>
AllowOverwrite on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous /home/ftp>
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
MaxClients 20
MaxClientsPerHost 2 "Sorry, You can't connect more than TWO times from ONE host"

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.

<Directory *>
TransferRate RETR 200
TransferRate APPE,STOR 200
</Directory>

# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>

</Anonymous>
Автор: sda00
Дата сообщения: 07.11.2005 14:46
Neoromantic

В теме есть глава, посвящённая настройте ftp сервера (может я промахнулся со страницей, сорри
http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=8718&start=20
). Действительно речь там идёт о vsftpd и последующая конфигурация с xinetd.

Если это Вам не подходит - я сотру свои посты.
Удачи
Автор: Neoromantic
Дата сообщения: 07.11.2005 16:11
EDantes
Я так понял что эта строка "DefaultRoot /home/./ " пускает в директорию пользователя.
Синтаксис "DefaultRoot /var/html/www root" правильный что бы пустить пользователя root в директорию сайта?
Автор: EDantes
Дата сообщения: 07.11.2005 17:58

Цитата:
Я так понял что эта строка "DefaultRoot /home/./ " пускает в директорию пользователя.

ну ... это следствие скорее тут имелось в виду что выше /home/ подняться не получится никому и никогда.


Цитата:
Синтаксис "DefaultRoot /var/html/www root" правильный что бы пустить пользователя root в директорию сайта?

в каталог "www root" ?ну-да. но. пускать пользователя root по ftp это ужасное извращение! не стоит этого делать...

вообще советую почитать доку на proftpd.org там все более-менее разъяснено.

и напоследок. про рута выяснили что не надо его по фтп пускать. теперь по поводу директорий. я делал так, что выше /home/ не подняться, а анонимную директорию ftp расположил также в /home/.

пример. есть юзеры vasya и petya. у них хомдиры /home/vasya и /home/petya. также имеется дир /home/ftp - для анонимных пользователей. так соблюдаются оба условия-и выше не перейти и анонимный каталог где надо...

если хочется чтобы юзер vasya (типа он админ) мог писать в директорию ftp, надо просто дать права vasya писать в /home/ftp/.
Автор: Neoromantic
Дата сообщения: 07.11.2005 18:18
Немного не так. Каталог "www", но надо же выделить пользователся которого туда пускать. Каталог: var/html/www - это по умолчанию для апача. И мне нужна строка в конфиге фтп которая туда пустит пользователя. (root для примера взят)
Читал сайт разработчика, но т.к. английский не родной, то мало оттуда вынес полезного. Можно объяснить общий принцип что именно позволит отдельному юзеру отдельную папку. Пример: пользователей много, а мне нужно два пользователя которые получат доступы в нужные папки (не подпапку home).
Как я понял с сайта разработчика имеено эта строка задает каталог и пользователя:
"DefaultRoot /var/html/www root" (root в этой строке это пользователь, а не часть имени папки)


Добавлено:
Добавил в конфиг:
<Anonymous /var/www/html>
User site
Group site
AnonRequirePassword on
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>

Но пользоваеть по фтп входит в свою директорию, не в /var/www/html. Писал по примеру http://proftpd.org/docs/configs/anonymous.conf
Автор: EDantes
Дата сообщения: 07.11.2005 21:24
несоотвествия между DefaultRoot и /var/www/html нету ? те путь /var/www/html входит в DefaultRoot ?

может плюнуть и переместить каталог апача в /home/ ?

а вот этого :
Цитата:
DefaultRoot /var/html/www root
я честно говоря не знал
я его как настроил года 3 назад так больше не трогаю, только обновляю версии...
Автор: Neoromantic
Дата сообщения: 08.11.2005 12:33
EDantes
Я уже все перепробовал и с DefaultRoot и удалением его... Пока что я каталог апача перенес, но решние продолжаю искать. К примеру будет у меня винт специально для фтп, так что мне его в папку home монтировать? Должен быть способ. Вышеуказанный "добавленный" в конфиг кусок текста должен был решить эту проблему, но никак не выходит.
Автор: EDantes
Дата сообщения: 08.11.2005 12:43
смутно припоминаю что в свое время возился с этим, но не срослось и принял вышеупомянутое решение. кстати говоря, на одном из серверов у меня /home и /var на отдельном винте...
Автор: banec
Дата сообщения: 14.11.2006 11:56
Вопрос!
А можно как то настроить так чтобы к папке incoming
на чтение и запись все, а на удаление только те что залили сами!!!
Автор: keyhell
Дата сообщения: 14.11.2006 12:39
man chmod
man sticky
Автор: Sterh84
Дата сообщения: 13.12.2006 08:39
Комрады!
Есть такой трабл с юзерами.... Есть несколько юзеров зарегиных в системе, и несколько только пользователей фтп. Так вот, В конфиге наваял следущее:
-------------------
ServerType            standalone
DeferWelcome            off
MultilineRFC2228        on
DefaultServer            on
ShowSymlinks            on
ServerIdent            off
UseReverseDNS            off
IdentLookups            off
RootLogin            off
RequireValidShell        off
DebugLevel            3

TimeoutNoTransfer        900
TimeoutLogin            120
TimeoutStalled            600
TimeoutIdle             120
TimeoutSession            900

AuthPAM                off
AuthPAMAuthoritative        off
AuthOrder            mod_auth_file.c
AuthUserFile            /etc/proftp/ftpusr
AuthGroupFile        /etc/proftp/ftpgrp    
DisplayLogin /etc/proftp/norm.msg
DisplayFirstChdir .message
ListOptions     "-l"
DenyFilter            \*.*/
MaxClients        5 "Server is overcrowded. Now: %m users."
MaxInstances        5
MaxClientsPerUser    3 "Maximum clients for user is reached."
LogFormat default "%t %h %a %s %m %f %b %T \"%r"\"
ExtendedLog     /var/log/proftp/extended.log     ALL default
SystemLog    /var/log/proftp/system.log     ALL default
TransferLog    /var/log/proftp/transfer.log     ALL default
Port                21
User                nobody
Group                nogroup
Umask                022 022
AllowOverwrite            on
DefaultRoot ~
<Limit LOGIN>
AllowAll
</Limit>

<Directory /*>
AllowOverwrite on
</Directory>

-----------------

Так вот Имеем пользователей заведенных в системе, и пользователей записанных в файле ftpusr, а также группы ftpgrp. ТАК вот вопрос Хочется чтобы пользователи не использовали пароль для входа на сервер, а использовывали записанный в ftpusr. Должны ли ГУИД и УИД совпадать с реальными учетными записями, для пользователей записанных в системе??? А для не существующих направить в хомы причем сзданы группы в файле ftpgrp , по ним их разводить в разные диры. На данный момент это хозяйство не работает....
В логах говорит что chdir("dir") permission denied.
Автор: Sterh84
Дата сообщения: 14.12.2006 05:48
Все разобрался, вроде... Необходимо чтобы УИД пользователя совподало с системным, тогда вроде все работает. Если я не прав поправте пожайлуста!
Автор: novikoff_dmitriy
Дата сообщения: 18.10.2007 13:44

Цитата:
Немного не так. Каталог "www", но надо же выделить пользователся которого туда пускать. Каталог: var/html/www - это по умолчанию для апача. И мне нужна строка в конфиге фтп которая туда пустит пользователя. (root для примера взят)
Читал сайт разработчика, но т.к. английский не родной, то мало оттуда вынес полезного. Можно объяснить общий принцип что именно позволит отдельному юзеру отдельную папку. Пример: пользователей много, а мне нужно два пользователя которые получат доступы в нужные папки (не подпапку home).
Как я понял с сайта разработчика имеено эта строка задает каталог и пользователя:
"DefaultRoot /var/html/www root" (root в этой строке это пользователь, а не часть имени папки)


Столкнулся с аналогичной задачей. Если кому-то интересно как ее решать, то все оч просто (между прочим на офсайте все написано)

DefaultRoot /путь1 [[подчиняющиеся ГРУППЫ] [!неподчиняющиеся группы]]
например
DefaultRoot ~ users,!staff - пользователи группы users ограничены домашними папками, пользователи группы staff имеют доступ ко всему
Автор: CRAZY FROL
Дата сообщения: 11.04.2008 19:48
Помогите сделать лабу!!!!!
1.Сконфигурировать сервер proftpd для работы с параметрами:
- при подключении выводить коммент "11 FTP Server"
- сервер ftp запускать автономно
- начальный каталог ftp /home/ftp
- макс. кол-во одновременных соединений - 10
- макс. допустимое число клиентов установить равным 3, при отказе в соединении выводить сообщение "Sorry, max %m users-try again later"
- макс. время, в течении которого пользователь должен зарегится 200сек.
- разрешить регистрацию на сервере пользователю student11, остальным запретить.

2. Обеспечить возможность анонимного доступа со след. параметрами:
- начальный каталог для анонимного доступа- /var/ftp/pub
пользователь- ftp, anonymous, группа- ftp
- разрешить беспарольный доступ пользователю ftp
- отметить все письменные операции в анонимной корневой директории и поддиректориях, за исключением директории /var/ftp/pub/incoming, где клиент может хранить информацию, но ничего не считывать.

3. Настроить дополнительный сетевой интерфейс с IP-адресом 192.168.1.11, путем создания алиаса в команде ifconfig.

4. Настроить виртуальный ftp-сервер с IP-адресом 192.168.1.11

5. Стартовать proftpd
Автор: dariusii
Дата сообщения: 24.12.2008 21:37


а почему столько отсебятины неудобно чиатть родную документацию?)))
Автор: LandShaft
Дата сообщения: 28.01.2010 12:35
не работает через командную строку (создает пустой файл), через тотал все работает!

ftp> quote PASV
---> PASV
227 Entering Passive Mode (xx,xx,xx,223,218,154).
ftp> binary
---> TYPE I
200 Type set to I
ftp> quote pWD
---> pWD
257 "/uploads" is the current directory
ftp> ls
---> TYPE A
---> PORT 192,168,1,6,6,38
200 PORT command successful
---> NLST
425 Unable to build data connection: Operation not permitted
---> TYPE I

Права на папку 777!

Конфиг proftpd:

ServerName "ХХХХХХХХХХ"
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd/proftpd.scoreboard
Port 21
Umask 000 000
MaxInstances 30
CommandBufferSize 512

User nobody
Group nogroup
DefaultRoot ~

<Anonymous ~ftp>
User ftp
Group ftp
UserOwner ftp
GroupOwner ftp
AnonRequirePassword on
HideUser root
<Limit ALL>
Order Allow, Deny
AllowUser ftp
</Limit>
</Anonymous>

TimeoutIdle 3600
TimeoutLogin 3600
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimeoutSession 3600

# Идентификация имени удаленного пользователя
IdentLookups on
AllowOverwrite on

# Логи
LogFormat default "%h %l %u %t "%r" %s %b"
TransferLog /var/log/proftpd_transferlog
ServerLog /var/log/proftpd_serverlog
SystemLog /var/log/proftpd_systemlog

# Лимит максимума клиентов
MaxClients 30 "The server is full, hosting %m users"

в чем засада?
Автор: SysCommander
Дата сообщения: 28.01.2010 21:42

Цитата:
425 Unable to build data connection: Operation not permitted


фаервол есть?

в таких случаях пускают сниффер и ищут разницу в сравнении с случаем когда "все работает"
Автор: AnDySs1
Дата сообщения: 28.01.2010 22:06
LandShaft
Если Вы не можете выйти на ФТП на Альте, ни на Фряхе, то проблема кроется в другой стороне - в оффтопике.

Цитата:
в чем засада?


Цитата:
425 Unable to build data connection: Operation not permitted

пытаемся конектиться с нормального NIX клиента.
И оффтоповый firewall смотрим. для начала.
Автор: newhk
Дата сообщения: 27.05.2010 10:42
народ, need help........
у меня проблема, установил proftpd на Федору, поправил конфиг (конфиг рабочий, было проверено ранее на другой линухе) поставил тип запуска standalone, а он скотина не хочет стартовать... что делать?

Добавлено:
вопрос снят, разобрался
Автор: newhk
Дата сообщения: 28.05.2010 11:02
народ, подскажите, где копать?
настроил ProFTPD с полными правами для 1 учетной записи, все нормально работает, но после перезагрузки сервера перестает пускать... что делать?

P.S. сервер при этом запущен, но не пускает

Страницы: 1

Предыдущая тема: Билинговая система


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.