Protokol pro přenos souboru aplikační vrstvy. Je nezávislý na platformě a operačním systému. Pracuje na principu klient-server a je definován v RFC959.
Protokol ftp nelze považovat za bezpečný, protože daat jsou pomocí něj posílána nešifrovaná a linovolný útočník je schopen data odposlechnout.
Komunikace klient server pracuje na portech TCP 20 a TCP 21. Port 20 slouží k přenosu dat a port 21 slouží k posílání řídících ftp příkazů. Server naslouchá na portu 21 na spojení od klienta. Klient se připojuje, a na portu 20 mu server otvírá datové spojení.
Aktivní - uživatelův počítač má vnější IP adresu nebo jsou na něj z routeru přesměrovány alespoň příslušné porty, musí mít zároveň povolenu komunikaci na zmíněných portech ve firewallu. Spojení navazuje server Pasivní - počítač je za firewallem nebo routerem který nechceme, nemůžeme konfigurovat -> spojení otevírá klient, posila serveru adresu a port kde nasloucha
Chroot jail neboli vězení ve změněnám kořenovém disku. slouží k zakrytí skutečné sdresářové struktury a zamezení přístupu mimo tento kořen.
Virtuálních uživatelů můžeme využít pokud chceme na serveru vytvářet ftp účty a nepočítáme s jiným typem přístupu uživatele (ssh).
Najde uplatnění na webhostingových serverech.
ABOR ACCT ALLO APPE CDUP CWD DELE HELP [ ] LIST [ ] MKD MODE NLST [ ] NOOP PASS PASV PORT PWD QUIT REIN REST RETR RMD RNFR RNTO SITE SMNT STAT [ ] STOR STOU STRU SYST TYPE USER
200 Command okay. 500 Syntax error, command unrecognized. This may include errors such as command line too long. 501 Syntax error in parameters or arguments. 202 Command not implemented, superfluous at this site. 502 Command not implemented. 503 Bad sequence of commands. 504 Command not implemented for that parameter. 110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm Where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "="). 211 System status, or system help reply. 212 Directory status. 213 File status. 214 Help message. On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document. 120 Service ready in nnn minutes. 220 Service ready for new user. 221 Service closing control connection. Logged out if appropriate. 421 Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down. 125 Data connection already open; transfer starting. 225 Data connection open; no transfer in progress. 425 Can't open data connection. 226 Closing data connection. Requested file action successful (for example, file transfer or file abort). 426 Connection closed; transfer aborted. 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 230 User logged in, proceed. 530 Not logged in. 331 User name okay, need password. 332 Need account for login. 532 Need account for storing files. 150 File status okay; about to open data connection. 250 Requested file action okay, completed. 257 "PATHNAME" created. 350 Requested file action pending further information. 450 Requested file action not taken. File unavailable (e.g., file busy). 550 Requested action not taken. File unavailable (e.g., file not found, no access). 451 Requested action aborted. Local error in processing. 551 Requested action aborted. Page type unknown. 452 Requested action not taken. Insufficient storage space in system. 552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset). 553 Requested action not taken. File name not allowed.
ftp - jde o maly program do prikazove radky, ktery otevre ftp spojeni na server a vy můžete zadávat ftp příkazy.
gftp - gnome ftp
krusader - file browser
vetsina www prohlizecu
VSFTPD (Very Secure File Transfer Protocol Daemon)
jde o malinký ale velmi rychlý a zdá se že i bezpečný ftp server, bezpečnost spočívá však pouze v bezchybnosti. ve verzi 2.0 již používá SSL komunikaci a potom lze mluvit o bezpečném ftps.
Jeho konfigurace je velmi rychlá a jednoduchá, nepodporuje virtuální uživatele.
/etc/vsftpd.conf - direktivy kterym venovat pozornost
write_enable=YES
ftpd_banner="FTP server."
anonymous_enable=NO
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
check_shell=NO
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1030
listen=YES
ProFTPD
ftp server s rozsáhlejší konfigurací včetně virtuálních uživatelů. Konfigurace je v duchu konfigurace apache. Umožňuje spouštení jako stand-alone nebo z inetd.
Konfigurace: /etc/proftp.conf
Wu-FTPD
Jeden z nejpoužívanějších serverů. Dnes existují mnohem bezpečnější alternativy.
Architektura server klient, jeden nebo více deamonů se nastaví jako server, klienti si s nimi synchronizují své adresáře. Přenáší pouze rozdíly v souborech, pro přenos používá ssh nebo rsh. Pro ověřování se používá MD4 hash.
Spuštění serveru se provádí příkazem rsync --daemon buď jako inet super-server nebo samostatného démona
konfigurace
/etc/rsyncd.conf
uid = uzivatel gid = skupina use chroot = yes max connections = 4 pid file = /etc/rsyncd.pid [ftp] path = /home/ftp comment = ftp export area uid = nobody gid = nobody use chroot = no max connections = 4 syslog facility = local5 pid file = /var/run/rsyncd.pid [ftp] path = /var/ftp/pub comment = whole ftp area (approx 6.1 GB) [cvs] path = /data/cvs comment = CVS repository (requires authentication) auth users = pavel, petr secrets file = /etc/rsyncd.secrets
Rsync klient poslouží k synchronizaci dat. Slouží tedy k přenosu dat mezi rsync serverem a klientem.
Syntaxe
rsync [OPTIONS] [USER@]HOST::SRC [DEST]
rsync -av /home/koudak/ /dest
rsync mamto.cz::home/koudak/ /dest
-a archive mode
-r Rekurzivně
-v Verbose mód
-l Zachavá symb. linky
-H Zachová hardlinky
-S efektivní zacházení s děravými soubory
http://www.fi.muni.cz/kas/p090
http://www.fi.muni.cz/kas/p077
http://www.wikipedia.org
http://www.abclinuxu.cz
http://www.root.cz