VPS – Nastavenie FTP

Či už sa jedná o klasický server, alebo virtuálny, veľmi často sa využíva práve FTP. Ako asi viete, je to protokol, ktorý slúži na prenos súborov. Nahráte si niečo na server a odkiaľkoľvek si môžete tento obsah stiahnuť. Na vašom serveri musí byť nainštalovaný FTP server a na počítači, ktorým sa budete pripájať musíte mať FTP klienta. Funkciu FTP klienta vo Windows dokáže bez problémov plniť aj napríklad Total Commander, no existuje hromada free aplikácií ako napr. WinSCP. Pod Linuxom je najpopulárnejšia FileZilla, bez ktorej sa nezaobíde ani žiadny web developer. V tomto návode popíšem ako nainštalovať a úspešne nakonfigurovať FTP server. V závere ukážem ako sa naň môžete pripojiť.


 

1. Inštalácia vsftpd

Už klasicky potrebujete konzolový prístup k vášmu serveru (napríklad SSH) a heslo na SuperUser. Spustite konzolu, prihláste sa a zadajte príkaz na inštaláciu vsftpd. Komplikovaný názov vsftpd je vlastne skratka od Very Secure FTP Daemon.

sudo apt-get install vsftpd


 

2. Zálohovanie konfiguračného súboru

Pre istotu si zálohujte čistý konfiguračný súbor, pretože ho následne budete upravovať.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak


 

3. Vytvorenie užívateľa

Na nasledujúce operácie potrebujete vyššie práva, preto odporúčam, prihlásiť sa nachvíľu ako root. Alebo môžete skúsiť použiť sudo pred každým príkazom. Vytvoríme špeciálneho užívateľa, ktorý bude slúžiť výhradne na FTP. Vytvoríte ho pomocou príkazov:

useradd connect

passwd connect

Následne zadajte heslo, napríklad: nbusr123. Meno užívateľa je v mojom prípade “connect“ a heslo “nbusr123”, vy si ale zvoľte aké vám vyhovuje.

Tomuto užívateľovi sa automaticky vytvoril domovský priečinok v adresári “home“. Často sa ale stáva, že napriek tomu, že je to domvský adresár daného užívateľa, samotný užívateľ nie je vlastníkom priečinka. Zadajte teda nasledujúce príkazy, ktoré daný problém vyriešia:

cd /home

chown connect connect

chmod 555 connect

Namiesto “connect“ zadajte meno novovytvoreného užívateľ pre FTP.

Ak vám systém oznámi, že zadaný priečinok neexistuje, musíte ho vytvoriť pomocou príkazu: mkdir connect


 

4. Vytvorenie priečinku pre FTP

Teraz musíte vytvoriť priečinok pre FTP. Ja ho zvyknem nazývať ”ftp”, opäť je ale voľba na vás. Pomocou nasledovných príkazov vytvoríte priečinok ”ftp”, zmeníte jeho vlastníka na vášho vytvoreného užívateľa (v mojom prípade connect, vy si zadajte meno vášho) a zmeníte práva priečinku, aby do neho mohol váš účet zapisovať (viac o prístupových právach súborov nájdete tu):

mkdir /home/connect/ftp

cd /home/connect

chown connect ftp

chmod 755 ftp


 

5. Úprava konfiguračného súboru vsftpd.conf

Musíte upraviť konfiguračný súbor vsftpd. Jeho editáciu spustíte nasledovným príkazom:

nano /etc/vsftpd.conf

alebo

gedit /etc/vsftpd.conf

prípadne akýkoľvek iný textový editor.

Ja používam nasledovný konfiguračný súbor, ktorý mi zatiaľ vždy fungoval. Skopírujte teda celý nasledujúci text v červenom a vložte ho do otvoreného konfiguračného súboru vsftpd.conf. Jediné, čo musíte zmeniť je IP adresa servera, čo je riadok pasv_address.

#/etc/vsftpd.conf
ftpd_banner=Vitajte na FTP!

listen=YES

ftp_data_port=20
listen_port=21

pasv_enable=YES

pasv_address=11.11.11.11

pasv_max_port=12100
pasv_min_port=12000

port_enable=YES

anonymous_enable=NO

local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES

connect_from_port_20=YES

dual_log_enable=YES
log_ftp_protocol=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_enable=YES
syslog_enable=NO

idle_session_timeout=1200
data_connection_timeout=120

chroot_local_user=YES
user_config_dir=/etc/vsftpd.user_list/

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

Zmeňte si teda 11.11.11.11 na IP vášho serveru. Ak chcete, môžete ešte zmeniť úvodný banner alebo timeouty pripojenia, prípadne ho nejak doladiť. Ale začnite s jeho aktuálnou podobou a až keď vám bude všetko fungovať, môžete ho meniť.

 Obr. 1: Konfiguračný súbor FTP – vsftpd.conf.


 

6. Vytvorenie užívateľského konfiguračného súboru

Aby FTP fungovalo, musíte vykonať ešte jednu operáciu a tou je vytvorenie krátkeho konfiguračného súboru pre vášho užívateľa. Choďte teda do adresára /etc/vsftpd.user_list/ (tento je definovaný v konfiguračnom súboru vsftpd.conf) a vytvorte tu súbor, ktorý bude mať názov taký istý ako meno vášho ftp užívateľa s príponou .conf. Takže v mojom prípade sa súbor volá connect.conf. Ak sa váš ftp užívateľ volá jozko, musí sa súbor volať jozko.conf. Požite teda nasledujúci príkaz:

nano /etc/vsftpd.user_list/connect.conf

Namiesto nano môžete použiť aj iný textový editor a namiesto connect.conf použite meno vášho FTP užívateľa s príponou .conf. Otvorí sa vám prázdny súbor na editáciu a do toho vložte nasledovné:

#/etc/vsftpd/connect.conf
local_root=/home/connect/ftp
dirlist_enable=YES
download_enable=YES
write_enable=YES

Namiesto “connect“ opäť použite meno vášho FTP užívateľa a namiesto “ftp“ zadajte názov priečinku, ktorý ste si v bode 4 vytvorili pre FTP.

 

 Obr. 2: Užívateľský konfiguračný súbor FTP – connect.conf.


 

7. Reštart FTP

Ak ste úpsešne dokončili predchádzajúce kroky, zostáva vám už len reštartovať FTP. Môžete reštartovať celý server, bude to mať rovnaký efekt, ale odporúčam použiť radšej príkaz na reštartovanie služby FTP:

service vsftpd restart


 

8. Pripojenie k FTP

Či všetko funguje tak ako má, otestujete tak, že sa pokúsite na váš server pripojiť.

Vo Windows na to môžete využiť napríklad Total Commander alebo nejakého free FTP klienta. Veľmi populárny je WinSCP.

 

Total Commander

Otvorte Total Commander, v hornej lište kliknite na ikonku Connect to FTP. Otvorí sa vám nové okno, tu kliknite na New connection… Zadajte sem údaje ako na nasledujúcom obrázku, samozrejme so svojou IP, užívateľom a heslom. Ak vyplníte aj položku Remote Dir, ako je na obrázku, pripojíte sa priamo do adresára ftp, do ktorého môžete rovno kopírovať (ak sa váš priečinok pre FTP volá inak, zadajte sem jeho názov).

Obr. 3: Pripojenie na FTP pomocou Total Commander.

 

WinSCP

Otvorte WinSCP, kliknite na New. Do okna, ktoré sa vám otvorí, zadajte údaje podľa predlohy z nasledujúceho obrázku. Nezbaudnite ale zmeniť IP, užívateľa a heslo na tie vaše.

 Obr. 4: Pripojenie na FTP pomocou WinSCP.

 

V Linuxe sa pripojíte pomocou FileZilla.

Stačí tento program spustiť a zadať údaje, ktoré sú na nasledujúcom obrázku označené červeným rámikom. Potom už len potvrdiť Enterom alebo kliknúť na Quickconnect.

Obr. 5: Pripojenie na FTP pomocou FileZilla.


 

9. Záver

Postup by bol o niečo jednoduchší, ak by sme umožnili prístup na FTP hocikomu, čo je tzv. anonymous connection. Túto metódu som úmyselne nespomenul, pretože nie je bezpečná. Ale aby ste boli v obraze… Stačí v konfiguračnom súbore vsftpd.conf nastaviť riadok anonymous_enable=yes a vynechať z tohto návodu všetko, čo sa týka užívateľov. Nebudete sa teda na server pripájať s loginom a heslom, ale iba ako anonym.


 

Užitočné linky:
https://security.appspot.com/vsftpd/vsftpd_conf.html

 

1 thought on “VPS – Nastavenie FTP

Zanechajte komentár