≡ Menu

Linux Create An FTP User Account

Now your FTP server is up and running. It is time to add additional users to FTP server so that they can login into account to upload / download files. To add a user called tom and set the password, enter:
# adduser -c 'FTP USER Tom' -m tom
# passwd tom

Now tom can login using our ftp server. Make sure the following is set in vsftpd.conf

local_enable=YES

Restart the vftpd:
# service vsftpd restart

However, I recommend setting virtual FTP user account to increase server security.

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

Comments on this entry are closed.

  • Chris December 21, 2009, 6:21 pm

    These instructions seem to get the server running, but I’m unable to connect with any local user. It keeps telling me my password is invalid, even though I can ssh with that username/password just fine.

    Status: Connection established, waiting for welcome message…
    Response: 220 (vsFTPd 2.0.5)
    Command: USER ftpuser
    Response: 331 Please specify the password.
    Command: PASS ********
    Response: 530 Login incorrect.

    • brewski November 3, 2011, 5:43 am

      I had the same issue. I had to add the ftp users to the ‘ftp’ group:

      # gpasswd -a ftpuser ftp

      and then it worked.

  • Vamsi January 1, 2010, 8:40 pm

    Hi..can we predefine path of the user directory instead of /home/tom ?
    thanks

    • brewski November 3, 2011, 5:46 am

      For a new user you would do:

      # useradd -m -G ftp -s /sbin/nologin -d /home/ftpuser ftpuser

      (This also sets the login shell to /sbin/nologin which effectively disables ssh login for the account.)
      For an existing user you would do:

      # usermod ftpuser -G ftp -s /sbin/nologin -d /home/ftpuser

  • nixCraft January 2, 2010, 5:17 am

    You can define directory while creating UNIX/ Linux user account.

  • Matthew August 12, 2010, 5:26 pm

    Using the pam file and virtual users with SSL/TLS, would i have to use the user_config_dir= option to set specifics for those users so they have seperate login directories, since those users aren’t in the centos users account, but in the separate pam database file?

  • sleepin November 4, 2011, 3:48 am

    Q:how to remove the ftp account?

  • John December 4, 2011, 6:23 am

    it wont let me upload anything, i am using filezilla, it says error 553 could not create file and 550 could not change directory

  • anon October 15, 2012, 7:21 pm

    this is the usual ‘type it in’ and hope for the best.
    surely a gui os like suse should at least have a simple gui to add authenticated ftp users

  • Eugene November 21, 2012, 2:31 am

    Guys, note!!! /etc/shells MUST have /sbin/nologin in it, otherwise, you’ll get Login Failed

    • Eugene November 21, 2012, 2:59 am

      Sorry, NOT /sbin/nologin, but valid shell

  • Peter Alvin July 15, 2014, 9:38 pm

    I get this when I try to log on:
    500 OOPS: cannot change directory:/home/pete

  • sahil September 5, 2014, 6:14 am

    hi i want to know on
    1. On a network how we can create a ftp server and group
    and
    2.How we can allocate (provide) specific space for sftp server .

  • sahil September 5, 2014, 6:14 am

    hi i want to know on
    1. On a network how we can create a ftp server and group
    and
    2.How we can allocate (provide) specific space for sftp server .