Strona 1 z 1

proftpd - przy włączonym module tls opcja DefaultRoot jest ignorowana

: 07 czerwca 2010, 13:57
autor: nieznany
Cześć.

Mam problem z konfiguracją serwera proftpd na Lennym.

Próbowałem go skonfigurować w ten sposób, aby po zalogowaniu przez tls użytkownik był uwięziony we wskazanym katalogu.

Niestety przy włączonym module tls opcja DefaultRoot jest ignorowana. Jeśli moduł tls wyłączę wszystko działa jak należy.

Dodam, że problem występuje podczas korzystania z programu WinSCP wersja 4.2.6. Z FileZilla wszystko działa jak należy.

Mój plik proftpd.conf:

Kod: Zaznacz cały

Include /etc/proftpd/modules.conf

UseIPv6                on
IdentLookups            off

UseReverseDNS            off

ServerName            "FTP server"
ServerIdent            off
ServerType            standalone
DeferWelcome            off

MultilineRFC2228        on
DefaultServer            on
ShowSymlinks            on

TimeoutNoTransfer        600
TimeoutStalled            600
TimeoutIdle            1200

DisplayLogin                    welcome.msg
DisplayChdir                   .message true
ListOptions                    "-A"

DenyFilter            \*.*/

DefaultRoot            ~/www

RequireValidShell        off

Port                21

<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>

MaxInstances            20

MaxClientsPerHost        4

User                proftpd
Group                nogroup

Umask                022  022
AllowOverwrite            on

AllowRetrieveRestart        on
AllowStoreRestart        on

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

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

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

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

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

Include /etc/proftpd/tls.conf
Mój plik tls.conf:

Kod: Zaznacz cały

<IfModule mod_tls.c>
TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23
TLSRSACertificateFile                   /etc/ssl/certs/ftpserver.cert.pem
TLSRSACertificateKeyFile                /etc/ssl/private/ftpserver.key.pem
TLSOptions                              NoCertRequest
TLSVerifyClient                         off
TLSRequired                             on
</IfModule>
Mój plik modules.conf

Kod: Zaznacz cały

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_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c

#LoadModule mod_quotatab_ldap.c

LoadModule mod_quotatab_sql.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
#LoadModule mod_wrap2_sql.c
LoadModule mod_dynmasq.c

LoadModule mod_ifsession.c
Proszę Was o wytłumaczenie przyczyn takiego zachowania serwera.

Pozdrawiam,
Piotr Repetowski

PS.
Zauważyłem, że opisana sytuacja występuje tylko w przypadku jednego użytkownika. Użytkownik ten posiada możliwość logowania przez ssh. W przypadku użytkowników, których powłoką jest /bin/false, próba logowania przez WinSCP kończy się niepowodzeniem.

Czy zdefiniowanie powłoki dla użytkownika jest przyczyną opisanej sytuacji?