Страница 1 из 1

Пользователи в proFTPD

Добавлено: 18 мар 2006, 15:28
cranium
Помогите, плиз. Уже 2 дня вожусь с этим демоном, никак не могу его оживить. Точнее он работает, но не идеально.
Проблема вот в чем:
при коннекте к фтп серверу, вводя логин и пароль для анонимного пользователя (anonymous/xxx@mail.com, anonymous/ ) выдается ошибка Login Incorrect.
Были проделаны следующие действия:
создана группа ftp (gid 50000)
создан пользователь ftp (-u 50000 -g 50000 -d /home/ftp -s /bin/false)
затем mkdir /home/ftp
затем скопированы файлы в /home/ftp из /etc/skel
затем:
cd /home/ftp
chown -R ftp.ftp .
chmod -R go=u,go-w .
chmod go= .

Вот что в /etc/proftpd.conf

Код: Выделить всё

ServerName			"Debian"
ServerType			standalone

DefaultServer			on
ShowSymlinks			on
AllowOverwrite			on

TimeoutNoTransfer		900
TimeoutStalled			3600
TimeoutIdle			600

Port				21

Umask                           022

MaxInstances			10

User                            nobody
Group                           nogroup

 <Limit LOGIN>
            Order allow,deny
            Allow from 10.5.5.* # Пишим IP адреса кому можно подключаться.
            Deny from all
 </Limit>

# A basic anonymous configuration, no upload directories.

 <Anonymous /home/ftp>
   User                           ftp
   Group                          ftp
   UserAlias			anonymous ftp
   RequireValidShell              no

   MaxClients   3    "Sorry, max %m users -- try again later"

 <Limit CWD DIRS READ LIST>
                AllowAll
            </Limit>
            <Limit WRITE>
                DenyAll
 </Limit>

 <Directory /usr/ftp/upload/*> #Папка Upload и права на нее
                <Limit READ RETR GET WRITE STOR CWD MKD RMD DELE>
                    AllowAll
                </Limit>
                <Limit READ>
                    DenyAll
                </Limit>
 </Directory>
 
 <Directory /usr/ftp/download/*> # Папка Download и права на нее
                    <Limit READ CWD RETR CWD>
                    AllowAll
                </Limit>
                <Limit WRITE>
                    DenyAll
                </Limit>
 </Directory>

 </Anonymous>
Заранее благодарен...

Добавлено: 19 мар 2006, 06:19
phaoost
gproftpd может помочь.
мой конфиг:

Код: Выделить всё

ServerType standalone
DefaultServer on
Umask 022
ServerName "0.0.0.0"
ServerIdent on "WARP FTPD"
Bind "0.0.0.0"
ServerAdmin phaoost@warp
IdentLookups off
UseReverseDNS off
Port 21
PassivePorts 49151 65532
#MasqueradeAddress None
TimesGMT off
MaxInstances 2
MaxLoginAttempts 3
TimeoutLogin 30
TimeoutNoTransfer 120
TimeoutIdle 120
User nobody
Group nogroup
DirFakeUser off nobody
DirFakeGroup off nogroup
DefaultTransferMode binary
AllowForeignAddress on
AllowRetrieveRestart on
AllowStoreRestart on
DeleteAbortedStores on
TransferRate RETR 300
TransferRate STOR 999999
TransferRate STOU 999999
TransferRate APPE 999999
SystemLog /var/log/proftpd.log
SyslogLevel info
#gp_random_username_length 6
#gp_random_password_length 6
#gp_randomize_case lower
#gp_useradd_root_path /home/ftp
#gp_useradd_upload_path /upload
#gp_html_path /var/www/ftp.html
#gp_welcome_name welcome.msg
<IfModule mod_tls.c>
TLSEngine off
TLSRequired off
TLSVerifyClient off
TLSProtocol TLSv1
TLSLog /var/log/proftpd_tls.log
TLSRSACertificateFile /etc/gproftpd/gproftpd.pem
</IfModule>
<Limit LOGIN>
  AllowUser user
  AllowUser anonymous
  DenyALL
</Limit>

<Anonymous /home/ftp>
User user
Group user
AnonRequirePassword on
MaxClients 3 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayFirstChdir .msg
AllowOverwrite off
<Limit LOGIN>
 Allow from all
 Deny from all
</Limit>
<Limit ROOT_DIR_ALLOW RETR LIST NLST MDTM SIZE STAT CWD XCWD PWD XPWD CDUP XCUP>
 AllowAll
</Limit>
<Limit ROOT_DIR_DENY DELE APPE STOR STOU SITE_CHMOD SITE_CHGRP RNFR RNTO MKD XMKD RMD XRMD>
 DenyAll
</Limit>
<Directory /home/ftp/upload/*>
AllowOverwrite on
<Limit UPLOAD_DIR_ALLOW LIST NLST MDTM SIZE SITE STAT APPE RETR STOR STOU MKD XMKD CWD XCWD PWD XPWDCDUP XCUP>
 AllowAll
</Limit>
<Limit UPLOAD_DIR_DENY DELE SITE_CHMOD SITE_CHGRP RMD XRMD RNFR RNTO>
 DenyAll
</Limit>
</Directory>
</Anonymous>

<Anonymous /home/ftp>
User anonymous
Group nogroup
AnonRequirePassword off
MaxClients 2 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayFirstChdir .msg
AllowOverwrite off
<Limit LOGIN>
 Allow from all
 Deny from all
</Limit>
<Limit ROOT_DIR_ALLOW RETR LIST NLST MDTM SIZE STAT CWD XCWD PWD XPWD CDUP XCUP>
 AllowAll
</Limit>
<Limit ROOT_DIR_DENY DELE APPE STOR STOU SITE_CHMOD SITE_CHGRP RNFR RNTO MKD XMKD RMD XRMD>
 DenyAll
</Limit>
</Anonymous>
<Global>
AllowRetrieveRestart on
MaxClients 2 "Too many users. Try later."
MaxClientsPerHost 1 "Maximum connections for your host reached."
ServerIdent on
DisplayGoAway "Too many connections. Try later."
DisplayLogin "Only one connection per host allowed."
</Global>

Добавлено: 19 мар 2006, 10:51
cranium
Логи это класно, поэтому вот в чем причина:

Код: Выделить всё

Mar 19 09:47:02 debian proftpd[13104] debian (10.5.5.10[10.5.5.10]): FTP session opened.
Mar 19 09:47:02 debian proftpd[13104] debian (10.5.5.10[10.5.5.10]): USER ftp (Login failed): Invalid shell: '/bin/false'
Mar 19 09:47:02 debian proftpd[13104] debian (10.5.5.10[10.5.5.10]): FTP session closed.
Поэтому такой вопрос: какая оболочка должна быть у анонимного пользователя?

Добавлено: 19 мар 2006, 10:59
cranium
Yes!
Все, разобрался, сервер функционирует нормально.
Ответ на последний вопрос /bin/sh
Огромное спасибо за помощь phaoost.
Также всем советую по данному вопросу читать /usr/share/doc/proftpd-doc/Configuration.html

Добавлено: 19 мар 2006, 12:16
Llama
cranium,
собственно, /bin/sh для ftp это глупо...
либо править /etc/shells (man shells)
либо править конфиг на тему RequireValidShell off или типа того...

Добавлено: 19 мар 2006, 12:43
cranium
хех, буду знать, сенк
просто что первое на глаза попалось в /etc/passwd отличное от /bin/false, то и прописал, а оно заработало)

Добавлено: 19 мар 2006, 13:15
cranium
Заблокировать бы пользователя в его домашнем каталоге, чтобы наруже ни ни... Как это можно сделать, подскажите пожалуйста.

Добавлено: 19 мар 2006, 13:25
Llama
DefaultRoot ~

Добавлено: 19 мар 2006, 13:55
cranium
Прописал... Все равно.
Кстати это не зависит от параметров пользователя, в частности все та же оболочка?

Добавлено: 21 мар 2006, 13:25
cranium
Все здорово, всем спасибо за помощь.
Работает как надо. И пользователь ftp с оболочкой /bin/false и домашние каталоги, из которых нельзя "вылазить" пользователям и т.д. А впринципе проблема была смешная, нужно было научиться каждый раз перезапускть сам сервер при изменении настроек /etc/proftpd.conf (наверное очень я был наивен используя proftpd restart :oops: ). Вот /etc/init.d/proftpd restart это для тех кто не знал, чтоб мои ошибки не повторяли)