В тази статия ще се постараем да инсталираме и настроим FTP сървър на основата на VSFTP За начало да актуализираме системата.
# apt-get update # apt-get upgrade
Изтриваме стара версия на FTP сървър, ако сме инсталирали.
# apt-get remove ftp
Сега да инсталираме новия FTP сървър
# apt-get install vsftpd
Да конфигурираме сървъра
# nano /etc/vsftpd.conf # Вътре добавяме следното: allow_writeable_chroot=YES #слага се най-отгоре на файла. позволява да се дефинират потребители само за VSFTP извън потребителите на Linux системата. Потребителите се дефинират във файла /etc/vsftpd.chroot_list listen=YES #позволява да слуша за входящи заявки за връзка #listen_ipv6=YES #забранява слушането за входящи заявки за връзка по IP v6 write_enable=YES #позволява да се записват файлове на сървъра chroot_list_enable=YES #позволява да се дефинират потребители за VSFTP чрез файла /etc/vsftpd.chroot_list chroot_list_file=/etc/vsftpd.chroot_list #указваме къде да се намира файла дефиниращ chroot потребителите
Редактираме файла с потребителите имащи достъп до VSFTP сървъра. В случая потребителя е един ftpuser.
# nano /etc/vsftpd.chroot_list # Вътре добавяме следното: ftpuser
Горния потребител да го дефинираме и в самия Linux. Забележете указания потребител ще има достъп само до:/var/www, в по-горни папки няма достъп.
# nano /etc/passwd # Вътре добавяме следното: ftpuser:x:1001:1001:ftpusrbaza:/var/www: /bin/bash
Ще направя няколко пояснения: - Потребителя ftpuser присвои номер във файла 1001, ако този номер беше зает се слага следващия свободен номер - Член е на групата 1001, обърнете внимание групата която ще създадете да е с този номер, ако номера е зает сложете следващия совободен номер. - Потребителя има достъп до папка /var/www, навътре към корена на папките няма да има достъп и няма да ги вижда. Сега да укажем към коя група ще принадлежи, обърнете внимание на горното условие.
# nano /etc/group # Вътре добавяме следното: ftpuser:x:1001:
И отново едно пояснение. Групата е с номер 1001, тя трябва да е същата както беше указана в /etc/passwd. Много внимавайте с номерацията на групите и потребителите, те не трябва да се повтарят. Сега да създадем и парола на потребителя който създадохме.
# passwd ftpuser Слагаме си парола която трябва и да я помним.
Рестартираме сървиса vsftpd
# service vsftpd restart
Пробваме връзката с някой FTP клиент. Връзката е супер. За да съществува обаче таи връзка трябва да отворите портове: 21 - за пренос на данни 20 - за команди към FTP. И за накрая да оправим още един проблем: - представете си, че имате повече от един потребител. - права върху /var/www/ има главния потребител root - искаме потребител ftpuser да създава и трие файлове и папки в тази указана директория, за целта:
# mkdir /var/www/test2
Потребителя root има пълни права върху папката /var/www/test2. За да може да има права потребителя ftpuser:
# chown ftpuser:ftpuser /var/www/test2
Сега потребителя ftpuser има права върху папката /var/www/test2. В нея може да създава, да трие, да редактира и т.н.