I. Стандартен FTP сървър

Отворете терминала : Ctrl+Alt+T и следвайте тези стъпки.

Step 1 » Направете Update на хранилищата .

sudo apt-get update

Step 2 » Инсталирайте VsFTPD пакета, като използвате тази команда.

sudo apt-get install vsftpd

Step 3 » След инсталацията стартирайте следната команда за да отворите файла за редактиране:

gksu gedit /etc/vsftpd.conf

И направете следните промени. Махнете # знака пред следните редове  (около no:29 and 33).

write_enable=YES
local_umask=022

Махнете # знака пред следния ред (line no: 120 ) за да ограничите достъпа извън папка Home.

chroot_local_user=YES

и добавете следния ред в края.

allow_writeable_chroot=YES

Добавете следните редове за да включите режима  passive.

pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=40100

Запазете промените – Save

Step 4 » Рестартирайте vsftpd услсугата с тази команда .

sudo service vsftpd restart

Step 5 » Сега ftp сървъра ще ползва порт с номер 21. Създайте нов потребител с тази команда. Използвайте  /usr/sbin/nologin shell за да ограничите достъпа да bash shell за ftp потребители. Дадените имена за потребител (john) и парола са примерни. Въвеждането на паролата е скрито и няма да виждате какво пишете.

 sudo useradd -m john -s /usr/sbin/nologin

sudo passwd john

Step 6 » Добавете логин достъп до  nologin shell . Отворете /etc/shells

gksu gedit /etc/shells

и добавете този ред в края.

/usr/sbin/nologin

Сега се опитайте да се свържете със сървъра, чрез FTP клиент и порт 21

setup-ftp-server-ubuntu-14-04-1

II. Secure FTP сървър ( SFTP )

SFTP се нарича още “Secure FTP” , защитен сървър, който използва протокола  SSH  за трансфер на файлове. Така че се нуждаем от  openssh-server пакета, който трябва да инсталираме с тази команда.

sudo apt-get install openssh-server

Ако не успеете с тази команда и получите съобщение, че пакета не може да бъде намерен, използвайте стандартния начин, чрез Software центъра:

ubuntu-software-center-whats-new-100609202-orig

В търсачката въведете точно това (цялата фраза):

openssh-server

Step 7 » След успешна инсталация създайте нова група  ftpaccess за FTP потребителите.

sudo groupadd ftpaccess

Step 8 » Следва да направим промени в този файл:

gksu gedit /etc/ssh/sshd_config

Намерете следния ред и поставете пред него това: #

Subsystem sftp /usr/lib/openssh/sftp-server

Добавете тези редове в края на файла:

Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Step 9 » Рестартирайте услугата sshd.

sudo service ssh restart

Step 10 » Следващите стъпки трябва да се направят, за да добавим потребители за sftp достъп.
Създайте потребител john към ftpaccess група и /usr/bin/nologin shell.

sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin

sudo passwd john

Променете правата за основната директория.

sudo chown root /home/john

Създайте папка в основната директория и променете правата за нея за да можете да качвате файлове там.

sudo mkdir /home/john/www

sudo chown john:ftpaccess /home/john/www

Опитайте да се свържете чрез SFTP ( port : 22 ) и се уверете че можете да качвате файлове.

setup-ftp-server-ubuntu-14-04

Съществуващи потребители трябва да се добавят към ftpaccess групата

sudo usermod john -g ftpaccess -s /usr/sbin/nologin

sudo chown root /home/john

sudo mkdir /home/john/www

sudo chown john:ftpaccess /home/john/www

Ако искате да имате достъп до вашия FTP сървър извън локалната мрежа, ще трябва да пренасочите порт 22 на вашия рутер към IP адреса на сървъра от локалната ви мрежа. Също така, ако нямате статичен IP адрес, трябва да ползвате услуга за динамичен DNS, като безплатните на http://www.noip.com/