ProFTPd

Fórumok

Hello!

Lenne egy kis problémám a ProFTPd-vel.
A rendszer amire felraktam:

Debian Etch 4.0 Netinstall (vagy 4.03 ... ezt amúgy hol lehet megnézni ?)
Kernel 2.6.18-6-686
ProFTPD Version: 1.3.0 (stable)

Elég alap rendszert raktam fel,arra törekedek hogy minél kisseb legyen a rendszer( nincs X stb.) Fontos szempont hogy a hardware minnél kisseb eröforrásokkal rendelkezzen, le akarom tesztelni hogy mi az a minimális software & hardware környezet ami megfelelöen ki tudja a következöket szolgálni:

    -ftp szerver a usereknek a quake 3as modok,pályák feltöltéséhez
    -ssh szerver a játékszerver adminisztárcióhoz
    -php és sql környezet a játék szerverekhez stat-okhoz és egyéb webes dolgokhoz.
    -programozhato rcon (pl.: http://rubyforge.org/projects/rcon/ ) kisseb adminisztrativ bot-ok hoz.

A proftpd-s problémám az lenne hogy úgy tűnik a mod_ifsession.c modul mintha nem működne.
Ha kiadok egy proftpd -vv parancsot ezt kapom rá:

 - ProFTPD Version: 1.3.0 (stable)
 -   Scoreboard Version: 01040002
 -   Built: mar gen 2 10:57:47 CET 2007
 -     Module: mod_core.c
 -     Module: mod_xfer.c
 -     Module: mod_auth_unix.c
 -     Module: mod_auth_file.c
 -     Module: mod_auth.c
 -     Module: mod_ls.c
 -     Module: mod_log.c
 -     Module: mod_site.c
 -     Module: mod_delay/0.5
 -     Module: mod_dso/0.4
 -     Module: mod_auth_pam.c
 -     Module: mod_readme.c
 -     Module: mod_cap/1.0
 -     Module: mod_ctrls/0.9.4

..... furcsa modon nem látom benne a mod_ifsession.c-t, pedig a modules.conf ban benne van és a modul létezik is a /usr/lib/proftpd ben.

Az /etc/proftpd/modules.conf tartalma:

ModulePath              /usr/lib/proftpd
ModuleControlsACLs      insmod,rmmod allow user root
ModuleControlsACLs      lsmod allow user *
LoadModule              mod_ctrls_admin.c
LoadModule              mod_tls.c
LoadModule              mod_sql.c
LoadModule              mod_ldap.c
LoadModule              mod_sql_mysql.c
LoadModule              mod_sql_postgres.c
LoadModule              mod_quotatab.c
LoadModule              mod_quotatab_file.c
LoadModule              mod_quotatab_ldap.c
LoadModule              mod_quotatab_sql.c
LoadModule              mod_radius.c
LoadModule              mod_wrap.c
LoadModule              mod_rewrite.c
LoadModule              mod_ifsession.c

És a /etc/proftpd/proftpd.conf tartalma:

Include /etc/proftpd/modules.conf

DefaultServer                   on
DeferWelcome                    off
DenyFilter                      \*.*/
DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ExtendedLog                     /var/log/proftpd/ftp_auth.log AUTH auth
ExtendedLog                     /var/log/proftpd/ftp_access.log WRITE,READ write
Group                           nogroup
IdentLookups                    off
ListOptions                     "-l -h -A"
LogFormat                       auth "%v [%P] %h %t \"%r\" %s"
LogFormat                       default "%h %l %u %t \"%r\" %s %b"
LogFormat                       write "%h %l %u %t \"%r\" %s %b"
MaxInstances                    30
MultilineRFC2228                on
Port                            21
ServerName                      "Debian"
ServerType                      standalone
ShowSymlinks                    on
SystemLog                       /var/log/proftpd/proftpd.log
TimeoutIdle                     1200
TimeoutNoTransfer               600
TimeoutStalled                  600
TransferLog                     /var/log/proftpd/xferlog
UseIPv6                         off
User                            nobody
UseReverseDNS                   off

<Global>
DefaultRoot                     ~
 <IfGroup ftpuser>
 DefaultRoot                    ~/pub/
 </IfGroup>
 <IfGroup q3user>
 DefaultRoot                    ~/.q3a/
 </IfGroup>
RootLogin                       on
RequireValidShell               on
</Global>

<Directory /*>
Umask                           022  022
AllowOverwrite                  on
</Directory>

<Limit SITE_CHMOD>
AllowUser root
DenyAll
</Limit>

<Limit LOGIN>
DenyGroup !ftpuser,!q3user,!root
</Limit>

<IfModule mod_tls.c>
TLSEngine off
</IfModule>

<IfModule mod_quota.c>
QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
Ratios on
</IfModule>

<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>

A célom az lenne hogy 2 csoportnak kölönbözö DefaultRoot-ot adjak, azaz leygen 1 csoport akik (ftpuser) a /home/ftp/pub ba jelentekznek be, és legyen 1 csoport akik a saját account-juk home könytárának .q3a/ könytárába jelentkezzenek be (igen jól látjátok 1 kis quake 3 szerver lesz :)). Szóval ha valaki tudna segiteni hogy miért nme müködik a mod_ifsession kérem segitsen.

A másik problémám hogy a ftp szerver logja igencsak hamar irgalmatlan nagy lesz, és attol félek ez elöb utol meg terheli a gépet. Mivel elég alap rendszer van fent (kb 270 mega az egész) valószínüleg nem lett beálitva alapbol a logrotate a proftpd-hez. A kérdésem az lenne hogy elég ha az /etc/logrotate.d/ be berakok egy proftpd nevü filet a köbetkezö tartalommal :

/var/log/proftpd/proftpd.log /var/log/proftpd/xferlog {
missingok
notifempty
postrotate
/usr/bin/kill -HUP `cat /var/run/proftpd.pid 2>/dev/null` 2>/dev/null || true
endscript
}

.. ezt már megtettem csak egyellőre nem látok változást :S

Hozzászólások

...ehh, közben rájöttem hogy a mod_ifsession nem kezeli a DefaultRoot direktívát.
Leszedtem a 1.3.1-es proftpd forrássát, belefordítottam a mod_ifsession-t, gond nélkül müködik.

Hogy tudnám megoldani azt hogy egy virtualhoston belül a különbözö csoportok külön DefaultRoot-ot kapjanak. Egyáltalán ez megoldható ? Vagy csinaljak 2 virtualhost-ot ?

Bocsi hogy ijen lami modon kérdezgetek itt, de egyfolytában keresgélek googleval de erre még nem találtam megoldát :(

:)
na megoldottam!

jól el vagyok itt magamban :) ... legalább valami cinikus hozzászolást tegyen valaki :)

... franc se gondolta volna hogy a DefaultRoot direktivát töbször is lehet használni .....(5 órán keresztüli googlizás meg töbszörös ujraforditás forrásból közben sem gondoltam erre)

DefaultRoot /home/ftp/pub/  ftpuser,!root
DefaultRoot ~/.q3a/         q3user,!root

.... úgy tűnik a "~" jelölt user home könyvtárát csak 1 DefaultRoot bejegyzésnél lehet felhasználni.

Bocs, csak most olvastam a kérdést.
Proftp: látom megoldottad, valóban többször lehet használni.
Logrotate: rotálj naponta (daily), és tömörítsd is rögtön (compress)

Hali,

Van egy proftpd-m (ProFTPD Version: 1.2.10 (stable)) ami PostgreSQL-be van kötve és mostanáig jól ment. Kb. 1-2 hete van az a jelenség, hogy akár aktív akár passzív kliens jön, a belépés még sikerül de könyvtár listát már nem kapnak, mert egyszerűen megáll az ftp szerver a kliens meg végül timeout-ol.

Eddig ilyen nem volt, debug logban meg semmi extra, amikor kiadom kliensben a dir-t (ls -t), a szerver logban megjelenik, hogy a PASV-t elkezdi átadogatni a moduloknak és végül a mod_log-nak és utána semmi.

Reverse DNS lookup kikapcsolva.

Help plíz...

Az ftp kontrol kapcsolat a 21-es porton megy - és működik. A könyvtár listázáshoz, fájl fel-/letöltéshez viszont az ftp nyit egy adat kapcsolatot is és az adatokat ezen pumpálja át. Ha útközben módosult egy tűzfal szabály vagy teszem azt volt egy tűzfal restart és a conntrak_ftp modul nem töltődött be, akkor az adat kapcsolat nem alakítható ki --> time outra fut a művelet, érdemi eredmény nélkül.