Settingup an FTP Server on Ubuntu with ProFTPD
- Single main configuration file, with directives and directive groups which are intuitive to any administrator who has ever used the Apache web server.
- Per directory ".ftpaccess" configuration similar to Apache's ".htaccess".
- Easy to configure multiple virtual FTP servers and anonymous FTP services.
- Designed to run either as a stand-alone server or from inetd/xinetd, depending on system load.
- Anonymous FTP root directories do not require any specific directory structure, system binaries or other system files.
- No SITE EXEC command. In modern Internet environments, such commands are a security nightmare. ProFTPD does not execute any external programs at any time. The source is available (and must always be available) for administrators to audit.
- Hidden directories and files, based on Unix-style permissions or user/group ownership.
- Runs as a configurable non-privileged user in stand-alone mode in order to decrease chances of attacks which might exploit its "root" abilities. Note: This feature is dependent on the capabilities of the host Unix system.
- Logging and utmp/wtmp support. Logging is compatible with the wu-ftpd standard, with extended logging available.
- Shadow password suite support, including support for expired accounts.
- Modular design, allowing server to be extended easily with modules. Modules have been written for SQL databases, LDAP servers, SSL/TLS encryption, RADIUS support, etc.
- IPv6 support.
Install Proftpd Server in Ubuntu
If you want to install proftpd in ubuntu use the following command
sudo apt-get install proftpd
This will start the installation this time it will ask one question you want to run proftp server from inetd or standalone here select standalone and press enter after this installation will be completed.
Configuring ProFTPD Server
By default proftp configuration file is located under /etc i.e /etc/proftpd.conf
If you want to check the default proftpd.conf file check here
We are going to change the basic configuration for proftp server this includes security configuration also.
Now you need to edit the /etc/proftpd.conf file using vi or any other editor and you need to change the following Directives or add the following directives for proftp server configuration these are only some of basic directives if you want to know available directives check here
sudo vi /etc/proftpd.conf
Change the following directives
ServerName — Configure the name displayed to connecting users
ServerName “proftp server”
ServerIdent — Set the message displayed on connect
ServerIdent on “Welcome to proftp server”
UseReverseDNS — Toggle rDNS lookups
IdentLookups — Toggle ident lookups
DefaultRoot — Sets default chroot directory
RequireValidShell --- Allow connections based on /etc/shells
MaxClients — Limits the number of users that can connect
DenyFilter --- Regular expression of command arguments to be blocked
MaxClientsPerHost — Limits the connections per client machine
After adding these directives you need to restrat your proftpd server to take these changes effect.
sudo /etc/init.d/proftpd restart
Now your Basic server configuration is ready To perform a syntax check of your proftpd.conf file use the following command
sudo proftpd -td5
Proftp Client Installation
If you want to use commnd line ftp client in debian you need to install the ftp package using the following command
sudo apt-get install ftp
By default users can FTP in to their own home directories only