Skip to content
Bots!
Bots!
  • About
    • Myself
    • আমার দোয়া
  • Bookmarks
    • Bookmarks
    • My OCI Bookmarks
    • Useful Proxmox Commands & Links
    • Learning Nano
    • Useful Sites
    • Useful Virtualbox Command
    • Useful MySQL Command
    • Useful Linux Command
    • BTT-CAS
  • Resources
    • Webinar on Cloud Adoption for Project Managers
  • Photos
  • Videos
  • Downloads
Bots!

How to setup vsftpd FTP with SSL on Ubuntu 12.04

Rumi, December 7, 2015December 7, 2015

This tutorial teaches you, how to setup vsftpd server on Linux based dedicated Web server. The tutorial also teaches you how to add the ftp users and lock the directory to individual users(In this scenario,lock the users into their individual web directory).

In Ubuntu 12.04, vsftpd with chrooted users gives the following error message:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
To overcome this problem, we need to add the following vsftpd PPA:

sudo add-apt-repository ppa:thefrontiergroup/vsftpd

01Updates the local repository (package list):

24Install the vsftpd using the following command:

sudo apt-get install vsftpd

03Create the directory to store SSL Certificate:

sudo mkdir /etc/vsftpd

04Change the directory to /etc/vsftpd/ and create a SSL certificate for vsftpd:

cd /etc/vsftpd/
/usr/bin/openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem

05Edit the configuration file:

sudo nano /etc/vsftpd.conf

06Delete everything inside the file and add the following lines (or adjust it according to your need):

listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
ssl_enable=Yes
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem

07In my case, three virtual hosts are running on this Web server, so I’ll create three users(one for each) without shell access and their web directory as their home directory:

sudo useradd -d /var/www/tendo -s /usr/sbin/nologin tendo
sudo useradd -d /var/www/rbgeek -s /usr/sbin/nologin rbgeek
sudo useradd -d /var/www/linuxsoft -s /usr/sbin/nologin linuxsoft

08Setup a password for each user:

sudo passwd tendo
sudo passwd rbgeek
sudo passwd linuxsoft

09To enable the users to read and write data in their home directory, change the group ownership (or ownership as per your requirement):

cd /var/www/
sudo chown -R www-data:linuxsoft linuxsoft 
sudo chown -R www-data:rbgeek rbgeek
sudo chown -R www-data:tendo tendo

10Change the permission too (adjust as per your requirement):

sudo chmod -R 0775 linuxsoft
sudo chmod -R 0775 rbgeek
sudo chmod -R 0775 tendo

11Check the permission after modification:

ls -l

12After completing all these steps,add a nologin to the shell set:

sudo nano /etc/shells

13Add this line at the end:

/usr/sbin/nologin

Restart the vsftpd service:

sudo service vsftpd restart

14FileZilla settings for Windows,we need to select “Require explicit FTP over TLS“,so that user can log in with SSL:

15When user connect, it will be required to accept the certificate, either self-signed or the default for vsftp:

16After successful connection, user will see his home directory:

17

Src: https://rbgeek.wordpress.com/2012/11/20/how-to-setup-vsftpd-ftp-with-ssl-on-ubuntu-12-04/

Administrations DebianFTPSSLUbuntuvsftpd

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Myself…

Hi, I am Hasan T. Emdad Rumi, an IT Project Manager & Consultant, Virtualization & Cloud Savvyfrom Dhaka, Bangladesh. I have prior experience in managing numerous local and international projects in the area of Telco VAS & NMC, National Data Center & PKI Naitonal Root and CA Infrastructure. Also engaged with several Offshore Software Development Team.

Worked with Orascom Telecom-Banglalink, Network Elites as VAS partner, BTRC, BTT (Turkey) , Mango Teleservices Limited and Access to Informaiton (A2I-UNDP)

Currently working at Oracle Corporation as Principal Technology Solution and Cloud Architect.

You can reach me [h.t.emdad at gmail.com] and I will be delighted to exchange my views.

Tags

Apache Bind Cacti CentOS CentOS 6 CentOS 7 Debain Debian Debian 10 Debian 11 Debian 12 DKIM Docker icinga iptables Jitsi LAMP Letsencrypt Linux Munin MySQL Nagios Nextcloud NFS nginx openvpn pfsense php Postfix Proxmox RDP Softether SSH SSL Ubuntu Ubuntu 16 Ubuntu 18 Ubuntu 20 Varnish virtualbox vpn Webmin Windows 10 XCP-NG zimbra

Topics

Recent Posts

  • Youtube MP3 Downloader Script using AI February 14, 2026
  • Install Softether VPN and create a Destination NAT (D-NAT) Rule to access the private Client VPN Node on a Debian 12 OS February 14, 2026
  • Deploying Pulse Monitoring for Proxmox Cluster Ecosystem February 13, 2026
  • Technitium DNS Web UI Configuration for Primary-Secondary Name Servers February 12, 2026
  • Technitium DNS with Primary-Slave Installation on Debian February 12, 2026
  • Install Docker and Docker Compose in Debian 12 February 5, 2026
  • Install GUI on Debian 12 using CLI February 4, 2026
  • Configuring Multiple PHP Versions on Virtualmin January 30, 2026
  • Deploy a Container TIG (Telegraf, InfluxDB and Grafana) Stack January 24, 2026
  • Resetting password of another Linux by mounting disk December 15, 2025

Archives

Top Posts & Pages

  • Youtube MP3 Downloader Script using AI
©2026 Bots! | WordPress Theme by SuperbThemes