Results 1 to 9 of 9

Thread: vsftpd : cannot login with non-anonymous user ...

  1. #1

    vsftpd : cannot login with non-anonymous user ...

    Hi,

    I would like to setup an ftp server on my Debian box.

    So I follow the "Server how to" writen here : http://www.siliconvalleyccie.com/lin...m#_Toc92808792

    Here my "vsftpd.conf"
    Code:
    # Example config file /etc/vsftpd.conf
    #
    # The default compiled in settings are fairly paranoid. This sample file
    # loosens things up a bit, to make the ftp daemon more usable.
    # Please see vsftpd.conf.5 for all compiled in defaults.
    #
    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
    # capabilities.
    #
    #
    # Run standalone?  vsftpd can run either from an inetd or as a standalone
    # daemon started from an initscript.
    listen=YES
    #
    # Run standalone with IPv6?
    # Like the listen parameter, except vsftpd will listen on an IPv6 socket
    # instead of an IPv4 one. This parameter and the listen parameter are mutually
    # exclusive.
    #listen_ipv6=YES
    #
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=YES
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd's)
    #local_umask=022
    #
    # Uncomment this to allow the anonymous FTP user to upload files. This only
    # has an effect if the above global write enable is activated. Also, you will
    # obviously need to create a directory writable by the FTP user.
    #anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    #anon_mkdir_write_enable=YES
    #
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # If you want, you can arrange for uploaded anonymous files to be owned by
    # a different user. Note! Using "root" for uploaded files is not
    # recommended!
    #chown_uploads=YES
    #chown_username=whoever
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    #xferlog_file=/var/log/vsftpd.log
    #
    # If you want, you can have your log file in standard ftpd xferlog format
    #xferlog_std_format=YES
    #
    # You may change the default value for timing out an idle session.
    #idle_session_timeout=600
    #
    # You may change the default value for timing out a data connection.
    #data_connection_timeout=120
    #
    # It is recommended that you define on your system a unique user which the
    # ftp server can use as a totally isolated and unprivileged user.
    #nopriv_user=ftpsecure
    #
    # Enable this and the server will recognise asynchronous ABOR requests. Not
    # recommended for security (the code is non-trivial). Not enabling it,
    # however, may confuse older FTP clients.
    #async_abor_enable=YES
    #
    # By default the server will pretend to allow ASCII mode but in fact ignore
    # the request. Turn on the below options to have the server actually do ASCII
    # mangling on files when in ASCII mode.
    # Beware that turning on ascii_download_enable enables malicious remote parties
    # to consume your I/O resources, by issuing the command "SIZE /big/file" in
    # ASCII mode.
    # These ASCII options are split into upload and download because you may wish
    # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
    # without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
    # on the client anyway..
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
    #
    # You may fully customise the login banner string:
    ftpd_banner=Bienvenue sur vsftpd.
    #
    # You may specify a file of disallowed anonymous e-mail addresses. Apparently
    # useful for combatting certain DoS attacks.
    #deny_email_enable=YES
    # (default follows)
    #banned_email_file=/etc/vsftpd.banned_emails
    #
    # You may restrict local users to their home directories.  See the FAQ for
    # the possible risks in this before using chroot_local_user or
    # chroot_list_enable below.
    #chroot_local_user=YES
    #
    # You may specify an explicit list of local users to chroot() to their home
    # directory. If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot().
    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd.chroot_list
    #
    # You may activate the "-R" option to the builtin ls. This is disabled by
    # default to avoid remote users being able to cause excessive I/O on large
    # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
    # the presence of the "-R" option, so there is a strong case for enabling it.
    #ls_recurse_enable=YES
    #
    #
    # Debian customization
    #
    # Some of vsftpd's settings don't fit the Debian filesystem layout by
    # default.  These settings are more Debian-friendly.
    #
    # This option should be the name of a directory which is empty.  Also, the
    # directory should not be writable by the ftp user. This directory is used
    # as a secure chroot() jail at times vsftpd does not require filesystem
    # access.
    secure_chroot_dir=/var/run/vsftpd
    #
    # This string is the name of the PAM service vsftpd will use.
    pam_service_name=vsftpd
    #
    # This option specifies the location of the RSA certificate to use for SSL
    # encrypted connections.
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    I've followed the point 1 to 9 without error. I can login to my Debian box with the new user.

    When I would like to login with my new user via ftp, the answer is :

    Code:
    debian-debelles:/etc# ftp localhost
    Connected to localhost.localdomain.
    220 Bienvenue sur vsftpd.
    Name (localhost:root): senegal
    331 Please specify the password.
    Password:
    530 Login incorrect.
    Login failed.
    Here my "vsftpd.log" file :

    Code:
    Tue May  9 19:37:34 2006 [pid 1091] [ftp] OK LOGIN: Client "192.168.1.1", anon p                assword "user@anonymous.com"
    Tue May  9 19:38:21 2006 [pid 1100] CONNECT: Client "192.168.1.1"
    Tue May  9 19:38:23 2006 [pid 1099] [senegal] FAIL LOGIN: Client "192.168.1.1"
    Tue May  9 19:38:31 2006 [pid 1099] [senegal] FAIL LOGIN: Client "192.168.1.1"
    Tue May  9 20:01:22 2006 [pid 1305] CONNECT: Client "192.168.1.1"
    Tue May  9 20:01:23 2006 [pid 1304] [senegal] FAIL LOGIN: Client "192.168.1.1"
    Tue May  9 20:01:30 2006 [pid 1304] [senegal] FAIL LOGIN: Client "192.168.1.1"
    Tue May  9 20:22:54 2006 [pid 1400] CONNECT: Client "127.0.0.1"
    Tue May  9 20:23:07 2006 [pid 1399] [senegal] FAIL LOGIN: Client "127.0.0.1"
    debian-debelles:/var/log#
    Right now, I haven't any more idea to setup it correctly.

    Please, help me.

    Thanks for advance.
    Last edited by debellez; 05-09-2006 at 07:49 PM.

  2. #2
    Did you add your user to the /etc/vsftpd.ftpusers file? If you did, you need to remove it from that file. That file is for users who are NOT suppose to be able to login, not those who ARE suppose to be able to login. Other than that, make sure you don't have your new user set to "change password on next login."

  3. #3
    Ok, thanks for your reply,

    here the content of my /etc/ftpusers

    Code:
    # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
    
    root
    daemon
    bin
    sys
    sync
    games
    man
    lp
    mail
    news
    uucp
    nobody
    Note that my new user "senegal" isn't in this one.

    For tadding a new user, I'm using this command line :
    Code:
    useradd -g ftp-users -d /home/ftp-files senegal
    passwd senegal
    I'm not sure, but I think the password isn't set to "change password on next login." Right ? And, I've tryed to login with putty to my Debian box with this new one without problem.

    Thank you.

  4. #4
    Member honey bee's Avatar
    Join Date
    Feb 2006
    Location
    Pakistan
    Posts
    146
    Hello!

    I hope that every time you make changes to your vsftpd.conf file, you restart the service.Did you checked the file which is reffered in "pam" (path: /etc/pam.d/vsftpd) ?.

    Also, check the presence of your user in /etc/passwd file.

  5. #5
    Yes, sure, I'm restarting the service every time I change something :

    Code:
    debian-debelles:~# /etc/init.d/vsftpd restart
    Restarting FTP server: vsftpd.
    My /etc/pam.d/vsftpd configuration file (what is it ?)

    Code:
    # Standard behaviour for ftpd(8).
    auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
    
    # Note: vsftpd handles anonymous logins on its own.  Do not enable
    # pam_ftp.so.
    
    # Standard blurb.
    @include common-account
    @include common-session
    
    @include common-auth
    auth    required        pam_shells.so
    The end of my /etc/passwd

    Code:
    ftp:x:105:65534::/home/ftp:/bin/false
    senegal:x:1001:1001::/home/ftp-files:
    I Don't understand this last file. What are those values ?

    thanks for your convenience.

  6. #6
    The culprit is the useradd command you used to create the user.

    The user needs a shell.

    useradd -m -g ftp-users -s /bin/false -c "Senegal FTP User" -d /home/senegal senegal
    passwd senegal

    Since it's already added you can use usermod to clean it up:
    usermod -s /bin/false -c "Senegal FTP User"

    Also note that /bin/false must reside in /etc/shells, but I suspect it is already there, since you have a "ftp" user with the same shell already.

  7. #7
    Ok, I'm not sure to understand correctly what I've done, but this is working correctly now.

    I've add in /etc/shells

    Code:
    /bin/false
    This line is missing.

    Hum, well, thank you very much.

    PS : A little explication will be appreciated.

  8. #8
    A user has to have a shell defined before he can log in with telnet, ssh, and (in this case) ftp. Because you want to make this user an ftp only user, you don't want him to have a valid shell for logging in with telnet/ssh, so you give him a shell that does nothing (/bin/false in this case.) The other portion of this issue is that the shell in question must also be listed in the /etc/shells file, because if it's not, it's not considered a valid shell.

  9. #9
    Linux is very well done, but lots of things to learn ...

    Many thanks for your precious help.

Similar Threads

  1. 1 user can't login in LDAP
    By naerey in forum Linux - Hardware, Networking & Security
    Replies: 1
    Last Post: 09-06-2011, 11:10 AM
  2. vsftpd 2.0.6 login trouble
    By bogdan in forum Linux - Hardware, Networking & Security
    Replies: 0
    Last Post: 05-20-2008, 12:16 PM
  3. VSFTPD with SSL/TLS - login incorrect
    By Phaelon in forum Linux - Hardware, Networking & Security
    Replies: 1
    Last Post: 05-20-2006, 11:44 PM
  4. single user login. no login at startup
    By donovan in forum Linux - General Topics
    Replies: 3
    Last Post: 01-12-2005, 08:57 AM
  5. Problem with new user login
    By geoffp in forum Announcements and Suggestions
    Replies: 3
    Last Post: 10-11-2003, 05:10 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •