Serverul FTP
FTP (File Transfer Protocol) este unul dintre cele mai vechi servicii Internet si reprezinta cel mai popular mod de transfer al fisierelor de pe un calculator pe altul. Implementari de aplicatii-client si server FTP exista practic pe toate platformele din lume.
Exista īn principal doua tipuri de server FTP: server privat, care permite transferul de fisiere doar utilizatorilor 111c23b de pe respectivul server, sau server public, care permite transferul de fisiere si utilizatorilor "anonimi" (care nu sunt utilizatori īnregistrati ai serverului). De cele mai multe ori, serverele din Internet sunt configurate sa satisfaca ambele variante.
Implementarea de server utilizata īn distributiile Red Hat si Mandrake este wu-ftpd, dar exista si multe alte implementari (proftpd etc.). Pentru a oferi servicii FTP, trebuie ca pachetul wu-ftpd sa fie instalat.
Serverul wu-ftpd jurnalizeaza cererile de accesare FTP de obicei īn fisierul
/var/log/xferlog.
Fisierul principal de configurare este /etc/ftpaccess. Acesta poate fi modificat fie prin intermediul interfetei grafice kwuftpd, din meniul System :: FTP D Editor īn Red Hat, respectiv Configuration :: Networking :: FTP D Editor īn Mandrake, fie manual:
Setari avansate ale sistemului
Figura 8.1. Programul kwuftpd
Acest fisier contine optiuni, cāte una pe fiecare linie. Sunt permise comentarii, care īncep cu "#". Cele mai importante optiuni sunt:
Optiuni generale
daemonaddress adresa Limiteaza daemonul FTP sa primeasca cereri doar de pe adresa IP specificata.
Controlul accesului
class clasa listājipuri_utilizatori listajnasini
Defineste o clasa (sau categorie) de utilizatori care pot accesa serverul FTP, cu numele clasa. Elementele listaJipuri_utili-zatori se separa prin virgula si pot lua una dintre valorile:
anonymous: utilizatorul nu trebuie sa fie īnregistrat pe
server, va fi utilizat numele anonymous;
guest: utilizatorul trebuie sa fie
īnregistrat pe server, dar
sesiunea FTP va avea acelasi comportament cu cea
anonima;
real: utilizatorul trebuie sa fie īnregistrat pe server.
Administrarea si configurarea sistemelor Linux
Cāmpul listajnasini defineste numele masinilor de pe care se permite accesul. Pot fi utilizate si caractere wildcard. Caracterul "!" īn fata numelui īnseamna negatie. Daca numele īncepe cu "/", el semnifica numele unui fisier care contine lista de masini.
deny masina fisierjnesaj
Refuza accesul de pe masina specificata, furnizānd clientului mesajul continut m fisier jnesaj.
ftte-limit [ raw ] in \ out \ total nr [ clasa ]
Limiteaza numarul maxim de fisiere de date care pot fi transferate de catre utilizatorii din clasa specificata. Limita se poate referi la fisierele primite (in), cele trimise (out) sau total transferate (total). Parametrul optional raw aplica limitarea la toate fisierele transferate, nu doar la cele de date. Daca clasa nu este specificat, limitarea se va aplica tuturor claselor care nu au stabilita nici o limita.
data-limit [ raw ] in \ out \ total cant [ clasa ]
Similara cu file-limit, dar se refera la cantitatea de informatii transferate, īn octeti.
limit-time * \ anonymous \ guest nrjninute
Limiteaza durata unei sesiuni FTP. Utilizatorii reali nu sunt niciodata limitati.
guestserver listajnasini
Stabileste de pe ce masini este permis accesul anonim. Daca listajnasini este vida, nu permite accesul nici unei masini.
Urnit clasa nr listajnomente fisier jnesaj
Impune anumite limite clasei de utilizatori specificata: numarul maxim de utilizatori la un moment dat, nr, intervalele de timp īn care este permis accesul (-1 īnsemnānd "oricānd"). Va fi furnizat clientului mesajul continut īn fisierul fisier jnesaj.
host-Hmit clasa nr lista jnomente fisier jnesaj
Similar cu optiunea Urnit, īnsa se refera la limita pe o masina-client.
noretrieve [ absolute \ relative ] [ class^clasa ] [ user=utilizator ] listaJisiere Nu permite preluarea fisierelor specificate pentru clasa, respectiv utilizatorul specificat.
allow-retrieve [ absolute \ relative ] [ class=clasa ] [ user=utilizator ] listajīsiere Permite preluarea fisierelor specificate pentru clasa, respectiv utilizatorul specificat.
loginfails nr Stabileste numarul de intrari esuate dupa care sesiunea FTP va fi īnchisa. Implicit: 5.
chmodyes \ no tipurijutilizatori
Permite sau nu tipurilor de utilizatori specificati sa modifice drepturile de acces al fisierelor. Elementele din tipuri_utilizatori pot fi anonymous, guest, real si class=clasa.
Setari avansate ale sistemului
ilelete yes \ no tipuri_utilizatori
Permite sau nu tipurilor de utilizatori specificati sa stearga fisiere.
overwriteyes no tipuri ^utilizatori
Permite sau nu tipurilor de utilizatori specificati sa suprascrie fisiere.
renameyes \ no tipurijutilizatori
Permite sau nu tipurilor de utilizatori specificati sa redenumeasca fisiere.
upload [ absolute \ relative] [ class=c\asa ] [ «*er=utilizator ] [ - ] director_radācina director yes \ no f proprietar grup drepturi_acces [ dirs \ nodirs ] [ drepturi_acces_director ] [ proprietarjdirector \ grup_director ]
Permite sau nu trimiterea (upload) de fisiere catre server, īn directorul director. Daca operatiunea este permisa, fisierul va avea ca proprietar proprietar, ca grup grup si drepturile de acces drepturi_acces. Cuvintele-cheie dirs si nodirs permit sau nu crearea de noi subdirectoare (implicit este permisa). Acestea vor avea ca proprietar proprietar_director, ca grup grup_director si drepturile de acces drepturi_acces_director.
throughput director_radacina subdirector lista Jisiere octeti_pe_secunda factorjnultiplicare listajadrese
Defineste o restrictie pentru rata de transfer al anumitor fisiere. Lista de fisiere este listajisiere, care se gasesc īn directorul director_radacina, subdirectorul subdirector. Cāmpul octeti_pe_secunda defineste rata maxima de transfer, iar factorjnultiplicare reprezinta un numar cu care rata de transfer va fi multiplicata dupa fiecare transfer. sirul oo pentru rata de transfer semnifica inexistenta limitei. Un factor de multiplicare de l sau "-" īnseamna fara multiplicare. Cāmpul lista_adrese reprezinta lista de nume de masina sau adrese la care se refera restrictia, separate prin virgula. Pot fi utilizate si caractere wildcard.
deny-uid interval_identificatori
deny-gid interval_identificatori
Specifica ce utilizatori, respectiv grupuri nu pot accesa serviciul FTP.
allow-uid intervaljdentificatori
allo w-gid interval_identificatori
Specifica ce utilizatori, respectiv grupuri pot accesa serviciul FTP.
Administrarea si configurarea sistemelor Linux
restricted-uid interval_identificator i restricted-gid interval_identificator i
Specifica ce utilizatori, respectiv grupuri nu au acces la fisiere
din afara directorului home. unrestricted-uid interval'^identificatori unrestricted-gid interval ^identificator i
Specifica ce utilizatori, respectiv grupuri au acces la fisiere din
afara directorului home.
Mesaje informationale
greeting full \ brief\ terse
greeting text mesaj
Stabileste nivelul mesajelor trimise catre client īnainte de autentificarea utilizatorului: full este valoarea implicita si reprezinta numele serverului si versiunea serverului FTP; brief trimite doar numele serverului, iar terse trimite doar textul "FTP server ready". Optiunea recomandata este brief. Parametrul mesaj specifica mesajul care va fi trimis.
signofffull \ brief \ terse
signofftext mesaj
Stabileste nivelul mesajelor trimise catre client dupa īncheierea sesiunii FTP: full este valoarea implicita si reprezinta numele serverului si volumul de informatii transferat; brief doar numele serverului, iar terse doar mesajul de "ramas-bun". Parametrul mesaj specifica mesajul care va fi trimis.
hostname nume
Specifica numele serverului FTP care va fi trimis clientului.
email nume Defineste adresa de e-mail a administratorului FTP.
message fisier tip [ lista_clase ]
Specifica un fisier al carui continut va fi trimis clientului la
autentificare sau la schimbarea directorului curent. Astfel,
parametrul tip poate lua valoarea LOGIN sau CWD=director,
unde director semnifica noul director. Parametrul listd_clase
specifica lista de clase de utilizatori pentru care va fi trimis
mesajul.
īn cadrul fisierului pot fi folosite urmatoarele directive:
%T: timpul local;
%C: directorul curent;
%E: adresa de e-mail a administratorului FTP;
%R: adresa masinii-client;
%L\ adresa masinii locale;
Setari avansate ale sistemului
%U: numele utilizatorului;
%M: numarul maxim de utilizatori din aceasta clasa;
%N: numarul de utilizatori din aceasta clasa conectati
momentan;
%b: limita de blocuri ocupate;
%H: limita de timp pentru spatiu pe disc excesiv;
%h: limita de timp pentru numar excesiv de fisiere;
%xu\ cantitatea de date trimise catre server;
%xd: cantitatea de date receptionate de la server;
%xR: raportul %xu / %xd;
%xc: cantitatea de date care mai poate fi transferata;
%xT: limita de timp, exprimata īn minute;
%xE\ timpul scurs de la conectare, exprimat īn minute;
%xL: timpul de conectare ramas la dispozitie;
%xU: limita de fisiere ce pot fi trimise (upload);
%xD: limita de fisiere ce pot fi
receptionate (download).
readim fisier tip [ lista_clase ]
Specifica un fisier despre care serverul va notifica clientul ca exista si ca a fost modificat ultima oara la o anumita data, atunci cānd se autentifica sau la schimbarea directorului curent. Astfel, parametrul tip poate lua valoarea LOGJN sau CWD=director, unde director semnifica noul director. Parametrul lista clase specifica lista de clase de utilizatori pentru care va fi trimis mesajul.
Jurnalizarea
log commands [ tipuri ^utilizatori ]
Activeaza jumalizarea comenzilor apelate de utilizatori, pentru tipurile specificate (anonymous, guest si real). Daca lista nu este specificata, Jurnalizarea comenzilor va fi activata pentru toate tipurile de utilizatori.
log transfers tipurijutilizatori directive
Activeaza Jurnalizarea fisierelor transferate de catre tipurile specificate de utilizatori. Directive este o lista de tipuri de transferuri efectuate: inbound (transferuri de fisiere catre server) si outbound (transferuri de fisiere de Ia server).
log security tipuri ^utilizatori
Activeaza Jurnalizarea violarii regulilor de securitate pentru tipurile de utilizatori.
Administrarea si configurarea sistemelor Linux
log syslog
log syslog+xfrelog
Redirectioneaza jurnalul catre sistemul syslog (prima varianta). A doua varianta directioneaza jurnalul atāt catre syslog, cāt si catre fisierul-jurnal. logfilefisier Specifica fisierul-jurnal. Implicit: /var/iog/xferiog.
Iata un fisier de configurare /etc/f tpaccess:
Nu permite
conectarea prin FTP a utilizatorilor speciali
deny-uid %-99 %65534-
deny-gid %-99 %65534-allow-uid ftp allow-gid ftp
Clasele de utilizatori
class all real,guest,anonymous *
Adresa de
e-mail a administratorului FTP
email ftpadmin0ftp.nemesis.ro
Accepta
maxim 5 īncercari de introducere a parolei
loginfails 5
Mesajele trimise clientului FTP
message /welcome.msg login
message .message cwd=*
Accepta
compresia on-the-fly (īn timpul transferului)
compress yes all
tar yes all
Nu permite utilizatorilor anonimi executia de comenzi
periculoase
chmod no guest,anonymous
delete no anonymous
overwrite no anonymous
rename no anonymous
Optiunile de jurnalizare
log transfers anonymous,guest, real inbound,outbound
Daca fisierul /etc/shutmsg exista, nu accepta conexiuni
A se
consulta mān ftpshut pentru detalii
shutdown /etc/shutmsg
Solicita
utilizatorilor anonimi adresa e-mail ca parola
passwd-check rfc822 warn
|