User Tools

Site Tools


ubuntu:ftp:install_vsftpd_using_text_file_for_virtual_users

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ubuntu:ftp:install_vsftpd_using_text_file_for_virtual_users [2019/12/05 00:54] – created peterubuntu:ftp:install_vsftpd_using_text_file_for_virtual_users [2020/07/15 09:30] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Ubuntu - FTP - Install vsftpd using text file for virtual users ====== ====== Ubuntu - FTP - Install vsftpd using text file for virtual users ======
 +
 +===== Install required packages =====
 +
 +<code bash>
 +sudo apt install vsftpd libpam-pwdfile
 +</code>
 +
 +----
 +
 +===== Configure vsftpd =====
 +
 +Edit these variables in the config file and leave everything else with the default value.
 +
 +<file bash /etc/vsftpd.conf>
 +anonymous_enable=NO
 +local_enable=YES
 +write_enable=YES
 +local_umask=022
 +nopriv_user=vsftpd
 +virtual_use_local_privs=YES
 +guest_enable=YES
 +user_sub_token=$USER
 +local_root=/var/www/$USER
 +chroot_local_user=YES
 +hide_ids=YES
 +guest_username=vsftpd
 +</file>
 +
 +<WRAP info>
 +**NOTE:** Set the local_root to the parent directory where the user’s home directories are located.
 +</WRAP>
 +
 +----
 +
 +===== Configure PAM =====
 +
 +Configure PAM to check the passwd file for users.
 +
 +<file bash /etc/pam.d/vsftpd>
 +auth    required pam_pwdfile.so pwdfile /etc/ftpd.passwd
 +account required pam_permit.so
 +</file>
 +
 +Make sure you remove everything else from the file.
 +
 +----
 +
 +===== Create the passwd file containing the users =====
 +
 +<code bash>
 +htpasswd -cd /etc/ftpd.passwd user1
 +</code>
 +
 +You can later add additional users to the file like this:
 +
 +<code bash>
 +htpasswd -d /etc/ftpd.passwd user2
 +</code>
 +
 +----
 +
 +===== Create a local user account to authenticate virtual users =====
 +
 +Create a local user that’s used by the virtual users to authenticate.
 +
 +<code bash>
 +useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
 +</code>
 +
 +----
 +
 +===== Restart vsftpd =====
 +
 +<code bash>
 +/etc/init.d/vsftpd restart
 +</code>
 +
 +----
 +
 +===== Create home directory =====
 +
 +Create user’s home directory since vsftpd doesn’t do it automatically.
 +
 +<code bash>
 +mkdir /var/www/user1
 +chown vsftpd:nogroup /var/www/user1
 +chmod a-w /var/www/user1
 +</code>
  
ubuntu/ftp/install_vsftpd_using_text_file_for_virtual_users.1575507276.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki