Strona 1 z 1

proftpd - brak autoryzacji

: 13 kwietnia 2007, 18:53
autor: fazie
Witam,
mam problem z zalogowaniem się na postawiony server proftpd, używając jako loginu lokalnej nazwy użytkownika i hasła do tego konta
fazie@localhost:~$ ftp localhost
Connected to localhost.
220 ProFTPD 1.2.10 Server ready.
Name (localhost:fazie): fazie
331 Password required for fazie.
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
nie ma tego konta w /etc/ftpusers
server odpalony jak standalone
system debian 3.1 minimal (brakuje jakiegoś pakietu do uwierzytelniania?)

Z góry dzięki za pomoc :)

: 13 kwietnia 2007, 19:25
autor: chyl-o
Wklej proftpd.conf

: 13 kwietnia 2007, 19:28
autor: fazie

Kod: Zaznacz cały

fazie@localhost:~$ cat /etc/proftpd.conf
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    on

MultilineRFC2228                on
DefaultRoot                     ~
DefaultServer                   on
ShowSymlinks                    on

IdentLookups                    off

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"

DenyFilter                      \*.*/

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd               off

# Uncomment this if you would use TLS module:
#TLSEngine                      on

# Uncomment this if you would use quota module:
#Quotas                         on

# Uncomment this if you would use ratio module:
#Ratios                         on

# Port 21 is the standard FTP port.
Port                            21

# 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                            ftpsecure
Group                           ftpsecure

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                           022  022
# Normally, we want files to be overwriteable.
AllowOverwrite                  on

# Delay engine reduces impact of the so-called Timing Attack described in
# [url]http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02[/url]
# It is on by default.
#DelayEngine                    off

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>
#   User                                ftp
#   Group                               nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
#   UserAlias                   anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
#   DirFakeUser on ftp
#   DirFakeGroup on ftp
#
#   RequireValidShell           off
#
#   # Limit the maximum number of anonymous logins
#   MaxClients                  10
#
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
#   DisplayLogin                        welcome.msg
#   DisplayFirstChdir           .message
#
#   # Limit WRITE everywhere in the anonymous chroot
#   <Directory *>
#     <Limit WRITE>
#       DenyAll
#     </Limit>
#   </Directory>
#
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                           022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
#
# </Anonymous>

fazie@darkmachine:~$   

: 13 kwietnia 2007, 19:46
autor: chyl-o
Masz w systemie takiego uzytkownika? ftpsecure i grupę? Przy logowaniu wprowadzasz poprawne dane( login i hasło )?

: 13 kwietnia 2007, 19:52
autor: fazie

Kod: Zaznacz cały

localhost:/home/fazie# cat /etc/passwd | grep ftpsecure
ftpsecure:x:1002:1002:,,,:/home/ftpsecure:/bin/false
localhost:/home/fazie# cat /etc/group | grep ftpsecure
ftpsecure:x:1002:
wprowadzam dane takie same jak dla lokalnego uzytkownika (poprawne)

: 13 kwietnia 2007, 20:13
autor: chyl-o
Masz dodanego użytkownika do grupy ftpsecure?

: 13 kwietnia 2007, 20:21
autor: fazie
widać to na wydruku z passwd ... no ale

Kod: Zaznacz cały

localhost:/home/fazie# id ftpsecure
uid=1002(ftpsecure) gid=1002(ftpsecure) groups=1002(ftpsecure)

: 13 kwietnia 2007, 20:30
autor: chyl-o
Lokalnego użytkownika tego, którego podajesz przy logowaniu...

: 13 kwietnia 2007, 20:51
autor: fazie

Kod: Zaznacz cały

localhost:/www# id fazie
uid=1000(fazie) gid=100(users) groups=100(users),1002(ftpsecure)


[ Dodano: 2007-04-14, 00:50 ]
OK, znalazlem rozwiązanie :)

odpalając proftpd jako standalone z przełącznikiem

Kod: Zaznacz cały

$ proftpd -nd5
i próbując logować się, zauważyłem na konsoli:

Kod: Zaznacz cały

USER fazie (Login failed): Invalid shell: ''
shell dla usera był ustawiony na /bin/false dla bezpieczeństwa, żeby ominąć sprawdzanie czy shell jest poprawny nalezy w /etc/proftpd.conf dodać:

Kod: Zaznacz cały

RequireValidShell               off
Enjoy!