Na za�iatku internetu boli 2 typy slu�ieb: Telnet a FTP. FTP vznikol v 1971, e�te pred TCP/IP (be�al pod
NCP = Network Control Program pre ARPANET).
1972: �pecifik�cia bola upraven� do podoby ktor� sa za��nala podoba� tej dne�nej.
1980: navrhnut� pre TCP/IP. Vtedy vznikol aj TFTP, od�ah�en� verzia FTP pre vtedaj�ie n�roky na
v�po�etn� silu.
1985: t�to verzia protokolu sl��i ako z�klad v dne�n�ch implement�ci�ch.
Ftp pou��va 2 tcp spojenia:
Klient sa pripoj� na server.
Akt�vny re�im:
Klient otvor� port, po�le serveru ��slo portu a server sa pripoj� na klienta.
Pr�klad komunik�cie:
=== hlavn� spojenie === > nc ftp.fi.muni.cz 21 220 ProFTPD 1.3.1 Server (Faculty of Informatics) [::ffff:147.251.48.205] > USER anonymous 331 Anonymous login ok, send your complete email address as your password > PASS ??? 230-Hello, UNKNOWN at dionysos.fi.muni.cz! > PWD 257 "/" is the current directory PORT 147,251,48,39,4,0 # 4*256 + 0 = 1024 200 PORT command successful LIST -l 150 Opening ASCII mode data connection for file list 226 Transfer completePas�vny re�im:=== netcat === nc -vv -l -p 1024 connect to [147.251.48.39] from odysseus.fi.muni.cz [147.251.48.205] 20 drwxr-xr-x 3 ftpadm ftpadm 56 Feb 12 2007 etc drwxr-xr-x 4 ftpadm ftpadm 4096 May 30 2007 http drwxr-xr-x 3 ftpadm ftpadm 0 Apr 13 13:36 mount drwxr-xr-x 23 ftpadm ftpadm 20480 Apr 13 05:08 pub sent 19, rcvd 243CWD pub 250 CWD command successful PORT 147,251,48,39,4,0 200 PORT command successful RETR README.uploads 150 Opening BINARY mode data connection for README.uploads (747 bytes) 226 Transfer complete=== netcat (2) === nc -vv -l -p 1024 ...obsah README.uploads...
=== hlavn� spojenie === ... PASV 227 Entering Passive Mode (147,251,48,205,164,98). LIST=== netcat (PASV) === nc -vv 147.251.48.205 42082 # 164*256+98 = 42082 odysseus.linux.cz [147.251.48.205] 42082 (?) open drwxr-xr-x 3 ftpadm ftpadm 56 Feb 12 2007 etc drwxr-xr-x 4 ftpadm ftpadm 4096 May 30 2007 http drwxr-xr-x 3 ftpadm ftpadm 0 Apr 13 13:49 mount drwxr-xr-x 23 ftpadm ftpadm 20480 Apr 13 05:08 pub sent 0, rcvd 243Extended passive mode: ��sla portov s� norm�lne.
RNFR - premenova� z RNTO - premenova� na APPE - append REST - pokra�ova� v preru�enom downloade (nepr�jemne pri ASCII m�de) TYPE - binary/text/... USER - meno u��vate�a PASS - heslo.Autentiz�cia na �rovni FTP: cez USER a PASS. Existuje anonymn� pristup: USER anonymous, PASS .... pri tomto pr�stupe servre chc� mailov� adresu ale v��inou tam m��me nap�sa� �o chceme. Anonymn�m u��vate�om obecne nechceme d�va� mo�nos� uploadova� d�ta.
ServerName "Moj FTP server" ServerIdent on "FTP Server pripraveny." ServerType inetd DefaultServer on Port 21 Umask 022 MaxInstances 30 User nobody Group nobody HideUser root <Limit LOGIN> Order allow,deny Allow from 192.168.0.,.acme.com Deny from all </Limit> <Limit READ DIRS> IgnoreHidden on </Limit> <Directory /*> AllowOverwrite on </Directory> <Directory /etc> AllowOverwrite off </Directory> <Anonymous /home/ftp> User anonymous Group ftpanon AnonRequirePassword off MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous>Zauj�mav� konfigura�n� direkt�vy:
User, Group | uid/gid pod ktor�m bude proces be�a� |
UseFtpUsers | (z wu-ftpd) v /etc/ftpusers s� u�ivatelia ktor� nemaj� povolen� pr�stup |
RequireValidShell yes | nechceme d�monom povoli� ftp |
Anonymous | anonymn� login, s User povieme kedy bude pova�ovat login za anonymn�. �tandardne sa pou�ije User anonymous |
<VirtualHost adresy> | IP/DNS adresy virtualn�ch ftp serverov. U��vate�ovi sa m��e zda� �e pod in�mi ip adresami (na rovnakom stroji) be�ia in� ftp servre. |
DefaultAddress | ktor� VirtualHost bude defaultn�. Defaultne je to to �o povie na za�iatku syst�m. |
<IfModule mod_auth_pam.c> AuthPAM off </IfModule> | vypni PAM |
DefaultRoot ~ | defaultne sa chrootni do uzivate�ovho domovsk�ho adres�ra |
AuthOrder mod_auth_file.c | ako autentiza�n� modul pou�i iba mod_auth_file. Keby sme prihodili �a��ie za mod_auth_file, mali by men�iu prioritu |
AuthUserFile /etc/ftpd/passwd name ^ftp home !^/home | pre mod_auth_file.c |
MaxClients | maxim�lny po�et u�ivate�ov |
ServerLog | kam m�me logova� |
uid = nobody gid = nobody use chroot = yes max connections = 4 syslog facility = local5 pid file = /var/run/rsyncd.pid secrets file = /etc/rsyncd.secrets [pub] # verejn� adres�r read only = yes list = yes path = /var/./pub # chrootneme do /var [data] list = yes auth users = nbusr path = /var/./data comment = neake data/etc/rsyncd.secrets :
nbusr:nbusr123V obidvoch pr�padoch sa chrootneme do /var. M��eme tam ma� kni�nice, ktor� n�m umo�nia prelo�it username do na UID. Je to preto, �e v chrootovanom prostred� proces nem� pr�stup do /etc/passwd.
rsync -avz -e ssh rsync@remote.acme.com:/home/rsync/out/ /home/rsync/from_remote