Stabilirea permisiunilor pentru serverul ftp, blogul lui mironov

Deoarece conținutul serverului este localizat pe sistemul de fișiere al mașinii de găzduire, drepturile de acces la acesta sunt controlate utilizând mecanismul standard al drepturilor de sistem de operare UNIX. Când înregistrați serviciul de server FTP, directorul pub este creat în directorul de domiciliu al proprietarului serverului. Conținutul serverului ar trebui să fie localizat în acest director. Când se conectează la un server, numai o parte a sistemului de fișiere de sub acest director este disponibilă pentru utilizatori; utilizatorii văd acest director ca root ('/') și nu pot accesa date aflate în afara acestuia.







IMPORTANT: acordați o atenție specială faptului că în nici un caz nu puteți oferi utilizatorilor drepturi inutile. De exemplu, dacă creați un nume de utilizator pentru public (de exemplu, anonim), nu puteți oferi utilizatorilor drepturi suplimentare. De exemplu, drepturile de a încărca fișiere noi pe server. Atacatorii în acest fel vor putea plasa pe serverul dvs. fișiere inutile care vor ocupa spațiul pe care îl plătiți. În plus, utilizatorii cu drepturi excesive vor putea șterge și modifica fișierele de pe serverul dvs., ceea ce nu este întotdeauna necesar. Să respecte așa-numitul "principiu al drepturilor minime", atunci când utilizatorul sau angajatul primește numai nivelul de acces pe care trebuie să-l acționeze cu adevărat.

În timpul funcționării, clientul ftp poate trimite un set strict de comenzi ftp către serverul ftp. Comenzile ftp de bază sunt enumerate mai jos:

CWD (Schimbarea directorului de lucru) - trimis de client pentru a schimba directorul curent. Restricționarea drepturilor de executare a acestei comenzi se extinde și la comanda CDUP (comutarea la nivelul unu în sus).

MKD (MaKe Directory) - este trimis de client pentru a crea un director.

RNFR (ReName FRom), RNTO (ReName TO) - sunt trimise de client pentru a redenumi directorul sau fișierul.

DELE (DELEte) - trimis de client pentru a șterge fișierul.

RMD (directorul ReMove) - trimis de client pentru a șterge directorul.

RETR (RETRieve) - transfer de fișiere de la server la client prin FTP.

STOR (STORe) - Transfer de fișiere de la client la server prin FTP.

Pentru facilitarea descrierii, comenzile ftp sunt grupate în următoarele clase:

READ - Toate comenzile FTP asociate cu citirea fișierelor (cu excepția comenzilor pentru listarea conținutului directorului), de exemplu, RETR, STAT etc.

WRITE - Toate comenzile FTP asociate cu crearea, scrierea sau ștergerea fișierelor sau directoarelor (inclusiv comenzile MKD și RMD).

DIRS - Toate comenzile FTP asociate cu emiterea unei liste a conținutului directorului, de exemplu, LIST și NLST.

ALL - Toate comenzile FTP (include toate cele trei clase READ, WRITE și DIRS).

Setați permisiunile

Permisiunile sunt instalate în director și în mod implicit sunt distribuite tuturor subdirectoarelor, dar pot fi redefinite. Pentru a seta drepturi de acces la un anumit director, trebuie să creați un fișier cu numele ".ftpaccess" în el. Conținutul acestui fișier determină drepturile de acces la director și subdirectoare. Formatul fișierului:







[[Ordine permite, respinge | respinge, permite]
[Lista de utilizatori AllowUser]
[Lista utilizatorilor DenyUser]
[Expresie de grup AllowGroup]
[Expresie de grup DenyGroup]
[Permiteți gazde]
[Deny hosts]
[AllowAll | DenyAll]
]

Se poate observa că fișierul conține secțiuni "Limit" care conțin comenzi de permisiune / respingere. Comenzile AllowAll și DenyAll pot fi de asemenea utilizate în afara secțiunilor "Limit".

Secțiunea "Limit" începe cu linia "" și se termină cu un șir ". Lista de comenzi FTP este o listă de comenzi ftp și clase de comenzi ftp separate prin spații. Conținutul secțiunii reprezintă comenzi de control al accesului. Ele determină capacitatea de a executa comenzile listate în listă.

Comanda "Comandă" controlează secvența de procesare a comenzilor de control al accesului rămase. Valoarea implicită este "permite, respinge". Aceasta înseamnă că comenzile de permisiune de acces sunt mai întâi verificate (lista acestor comenzi începe cu cuvântul "Permite"). Dacă o comandă a funcționat cu succes, procesul este terminat și utilizatorului i se permite să execute comenzile ftp listate în primul rând al secțiunii. În caz contrar, comenzile de interzicere a accesului sunt procesate (lista acestora începe cu cuvântul "Deny"). Dacă o comandă a funcționat cu succes, executarea comenzilor ftp este interzisă.

Dacă setați comanda "deny, allow", comenzile sunt procesate în ordine inversă, adică Comenzile de interzicere a accesului sunt procesate mai întâi, apoi comenzile de acces la permisiune.
AllowAll / DenyAll

Permite sau refuza executarea comenzilor ftp tuturor utilizatorilor din toate gazdele.
AllowUser / DenyUser

Activarea sau dezactivarea executării comenzilor ftp pentru anumiți utilizatori. Argumentul acestei comenzi (lista de utilizatori) este o listă cu numele de utilizator (separate prin virgule).
AllowGroup / DenyGroup

Activarea sau dezactivarea executării comenzilor pentru utilizatorii care sunt sau nu membri ai grupurilor specificate. Grupurile sunt separate prin virgule. "!" În fața numelui grupului indică faptul că utilizatorul nu trebuie să îl introducă. Atunci când verificarea acestei directive este verificată prezența (sau absența dacă este utilizat semnul „!“), Membru în fiecare dintre grupurile și condiția este îndeplinită numai în cazul în care este valabil pentru toate aceste grupuri.

Adică dacă folosiți o directivă a formularului

atunci accesul la execuția comenzilor corespunzătoare va fi numai pentru utilizatorii care sunt simultan în grup1 și grup2. Dacă doriți să acordați acces tuturor utilizatorilor care aparțin grupului de grup1 sau grupului2, atunci trebuie să scrieți o directivă separată pentru fiecare grup:

Grup grup AllowGroup1
Grupul AllowGroup2

Modificarea directorului implicit

Funcționalitatea serviciului "Virtual FTP Server" poate fi ușor modificată. Uneori poate fi necesar pentru a da acces ftp-utilizator nu este în directorul pub, și în directorul www (un exemplu tipic - pe care doriți să dea ftp-acces la www-director pentru webmasteri, proiectarea unui site web, dar nu vreau ca el să aibă acces la toate celelalte directoare de servicii pe server). Acest lucru se poate face cu următorii pași simpli.

1. În primul rând, trebuie să eliminați directorul pubului din directorul de domiciliu. Pentru aceasta, comanda unix-shell este dată:

2. Dar serverul FTP funcționează încă cu directorul pub, deci acum trebuie să specificați că directorul pub este de fapt www, adică creați o așa-zisă legătură simbolică. Funcționează astfel încât toate apelurile la ftp către directorul pub-ului vor fi de fapt înțelese de server ca un apel la www (cu alte cuvinte, pubul va fi acum un sinonim pentru www). Acest lucru se poate face cu comanda ln din unix-shell.

De exemplu, pentru a crea un pub link -> www, trebuie să dați comanda în directorul de acasă:

Dacă doriți să creați o astfel de legătură într-un director separat în interiorul www (de exemplu, www / images), atunci comanda, în consecință, va fi:

Internetul cu imagini / imagini

Acum, atunci când conectați prin FTP la serverul ftp.domain, utilizatorii vor merge imediat la directorul www (sau, în al doilea caz, www / images). Drepturile de acces pentru utilizatori în acest caz sunt setate exact în același mod, prin intermediul fișierului .ftpaccess, dar trebuie să fie plasat în directorul www (și subdirectoarele corespunzătoare).







Articole similare

Trimiteți-le prietenilor: