Gestionarea drepturilor de acces
nbsp Drepturile de acces joacă un rol important în dezvoltarea conceptului de securitate OS. În FreeBSD, drepturile de acces sunt destul de simple, spre deosebire de sistemul de operare Windows, unde există o moștenire ascendentă și descendentă. Desigur, o astfel de flexibilitate în stabilirea drepturilor de acces la anumite resurse este un lucru pozitiv, dar prea complex sistem de drepturi de eliberare poate conduce la o eroare gravă, care, la rândul său, poate compromite întregul sistem.
nbsp Există doar trei simboluri standard în sistemul de operare FreeBSD (există și simboluri speciale [vezi Tabelul 1.5]), care determină care dintre următoarele drepturi de acces:
nbsp r - lectură
nbsp w - înregistrare
nbsp x - execuție
Proprietarul este determinat direct de utilizatorul care deține o anumită resursă (fișier, dispozitiv, director), poate fie să filmeze, fie să instaleze diverse steaguri de acces.
Grupul va determina lista de utilizatori care au acces partajat la resursă.
Alții sunt acei utilizatori care nu se află în grup și, în consecință, nici unul dintre aceștia nu este proprietarul resursei. Alții sunt utilizatori nedoritori și de cele mai multe ori au un set minim de drepturi sau nu le au deloc.
După cum puteți vedea din exemplu, directorul a citit, scrie și executa permisiuni pentru proprietar (atrium), pentru grup (roată) drepturi de citire și executare, pentru toți ceilalți utilizatori nu există drepturi de acces.
nbsp
Pentru a înțelege toate subtilitățile drepturilor de acces, este important să înțelegeți ordinea verificării lor:
1.Pervonachalno nu a verificat dacă utilizatorul este proprietarul fișierului și dacă, care este determinată de drepturile sale și autentificarea ulterioară nu vorbește, de exemplu, chiar dacă utilizatorul se află într-un grup ale cărui drepturi sunt mult mai mici decât cea a proprietarului, grupul de drepturi nu va mai pentru a fi verificate. Dacă utilizatorul este proprietarul resursei și nu sunt definite drepturi pentru aceasta, accesul este refuzat.
După cum puteți vedea, intrarea în fișier a avut succes.
2. Dacă utilizatorul nu este proprietarul fișierului, atunci este verificat dacă acesta nu este în grupul care are drepturi de acces la resursă, în caz afirmativ, sistemul determină drepturile de acces către utilizator care corespund drepturilor grupului. Dacă utilizatorul se află într-un grup și nu există drepturi pentru grup, accesul este refuzat.
3. În plus, în cazul în care utilizatorul nu este proprietarul fișierului și nu se află în grupul care are acces la fișier, atunci i se atribuie drepturile definite pentru ceilalți.
4.Obsobo drepturi de acces verificate pentru root user. Dacă sistemul vede că utilizatorul are UID = 0. care corespunde cu root. indiferent de login_name. în general, sistemul nu verifică drepturile de acces la resursă, deoarece utilizatorul rădăcină are acces nerestricționat la sistem.
Tipuri de reprezentare a drepturilor de acces:
Drepturile de acces pot fi reprezentate atât în formă digitală, cât și în caracter.
1. Versiunea digitală
(111 - 111 -111) - corespunde drepturilor de acces 777.
nbsp Pentru a converti un sistem binar la unul zecimal, se folosește următoarea tabelă de mapare, care se citește de la dreapta la stânga:
128 64 32 16 8 4 2 1
Cum putem traduce drepturile noastre de acces într-un sistem zecimal? Să practicăm.
Atribuiți următoarele permisiuni pentru fișierul named test.txt:
Acum traducem cifrele:
u (utilizator) - 111 - ne uităm la tabelul nostru de corespondență de la dreapta la stânga, pentru că această secvență corespunde cifrelor - 124, apoi vom rezuma cifrele obținute și vom obține - 1 + 2 + 4 = 7
g (grup) - 101 - face același lucru - 1 + 4 = 5
o (altul) - 100 - face același lucru - 4 = 4
Ca rezultat, permisiunile noastre de fișiere arată astfel: 754 și pot fi atribuite utilizând comanda chmod (1).
Pentru traducerea inversă, valoarea digitală în binar, este necesar să se împartă cu 2, restul atunci când se împarte corespunde unității, dacă diviziunea fără rest este 0, este scrisă de la dreapta la stânga.
De asemenea, pentru a facilita memorarea, vom compila un tabel corespunzător reprezentării digitale a drepturilor de acces:
Sistem binar
simbolic
Citirea pentru proprietar
Intrare pentru proprietar
Executarea pentru fișierele pentru directoare permite căutarea
Citirea pentru un grup
Intrarea în grup
Rularea pentru fișiere pentru director și capacitatea de a căuta în el.
Citirea pentru alți utilizatori
Înregistrarea pentru alți utilizatori
Executarea pentru fișiere și căutare de directori pentru alți utilizatori
1.Pentru proprietar - citiți, scrieți, executați
2.Pentru grupuri - citiți și scrieți
3.Pentru alții - lectură
Proprietar: 0400 + 0200 + 0100 = 0700
Grupa: 0040 + 0020 = 0060
Altele: 0004 = 0004
Ca rezultat, obținem drepturi de acces pentru fișier - 764. Aceste drepturi pot fi atribuite cu comanda chmod (1).
2. Varianta simbolică
sau puteți să o faceți diferit
O declarație tare "Există doar trei simboluri standard în sistemul de operare FreeBSD."
Această concepție greșită complet incorectă a intrat în capul multora, astfel încât să nu-l scape.
Pe scurt, a fost acum aproximativ 10 ani, dar nu acum.
Ca indiciu, vreau să recomand un tovarăș să citească
POSIC ACL (POSIX 1003.1e / 1003.2c)
Ei bine, sau pentru a începe să experimentați
/ bin / getfacl
/ bin / setfacl
Și veți vedea cât de mult mai interesant :)
Tovarischschi!
BULL DE CAZURI a fost dizolvat
cu STATELE de gammon
Da, ar fi mai interesant să citiți despre acl.
HER MARZHOVYY se remarcă puternic de la masa generală - scrie ceva valabil!
Și în ce cazuri ar putea fi necesar să convertiți steagurile într-un sistem zecimal? Nu sa întâlnit niciodată.
Apropo, grupul chgrp poate fi înlocuit de grupul chown: group
Nativ, despre ACL va fi data viitoare, nu toate dintr-o data. Știu că ești rănit inteligent, nimeni nu-i argumentează :)
HER MARZHOVYY - login-ul vorbește de la sine
linkurile se vor corecta, mulțumesc :)
Și totuși, spune-mi, vă rog, că ACL adaugă niște steaguri noi?
O declarație tare "Există doar trei simboluri standard în sistemul de operare FreeBSD."
Înțelegi chiar ce spui tu?
ACL extinde capacitatea de a seta permisiunile asupra resurselor, dar nu adaugă noi steaguri la sistem :)
StasikOS
Sentimentul de a scrie?
Ei bine, scrie despre ceva mai interesant. și apoi verificăm: p
Repetarea este mama învățării. Normul.
Și de ce oamenii scriu cărți, pentru că există mană? Sau la noi toate țara bine limba engleză știe și nu toate în manah scrie!
Găsește-mi ordinul de verificare a drepturilor de acces în mana la chmod?
"Și de ce oamenii scriu cărți, pentru că există mana? Sau avem o țară întreagă știe limba engleză bine și nu totul în manah este scris!"
Dacă sysadminii noștri nu cunosc engleza, acum înțeleg foarte bine de ce avem atât de multe sysamine.
"Găsește-mi ordinul de verificare a drepturilor de acces în mana la chmod?"
Nu este acest lucru intuitiv?
StasikOS
de ce avem atâtea sysamins rahat.
imediat vazut, avem de-a face cu un sysadmin nenorocit * ROLF *
VVN
În Manualul FreeBSD, prietene. Și pe ieșirea comandantului.
4 StasikOS.
Tu "inteligent" nimeni nu întreabă.
Pe acest site, nu numai sysadmins sunt și utilizatori obișnuiți ai FreeBSD.
De exemplu, nu am studiat niciodată pentru un administrator și n-am terminat KPI-ul, dar colectez totul singur și engleza. să-l spun ușor știu hlovenko, dar astfel de oameni mă ajută foarte mult.
Multumesc pentru articol.
Băieți, dar de ce să sunați mai devreme, iar articolul este un joc greșit?
Doar a scris un articol despre om și a făcut bine, nu a fost prea leneș, doar merită să sublinieze neajunsurile, dar nu menționează că el futut în acest sau asta.
Mi-a adus.
Cel mai important lucru este că administratorii super cool stau în spatele scenei.
Pur și simplu mi se pare că rămân oameni și nu este necesar să reproșezi în această sau în special "acum înțeleg perfect de ce avem atât de multe sisteme de rahat"
Sidadminul nenorocit este cel care este leneș să facă ceva și să treacă la cei mai tineri. și multe altele. IMHO
Băieți, hai să trăim împreună! =)
perfect scris, toate lucrările sunt utile. repeta trecutul. și orcii în / dev / null
Apropo, ne așteptăm ca inundațiile elevilor cu antichat.ru,
care de acolo răspund că sunt un DDDDDDD
ps liss sunteți încă bannere de rău și alte gunoi rusești cu o grămadă de dolboobes atașați acolo care ar fi habr sau linu ru
eh nu este în opinia noastră
Tu, din nefericire, nu poți vorbi nici măcar o limbă umană (toți cu matematică și blesteme). Rețineți că nimeni nu v-a numit un nebun. Și încă pretinde titlul de chela adecvat :)) Înțeleg că te-ai născut cu cunoașterea limbii engleze :) suntem încă în Rusia :))
Propun să înlocuiți "mana" cu "mana" :)
Deficiențe. Referintele la mana engleza, desi ca protectie a articolului este folosit argumentul principal "oamenii nu cunosc limba engleza".
De la nenăscut. Este necesar să se adauge schimbarea drepturilor în ordine inversă. Descrieți situația cu drepturile la simlink.
A ignorat nedrept un lucru minunat, cum ar fi chflags.
ACL nu poate fi acceptată de sistem;)
(în sensul, nu poate fi compilată conștient:
opțiuni UFS_ACL)
La naiba, s-au împiedicat și au vrut să-și introducă polițistul.
L-am citit fluent, ca să nu văd brusc.
Aș dori să vă amintesc particularitățile drepturilor la cataloage care sunt superioare nivelului. De exemplu:
. (Rwxr-xr-x)
dir1 (rwxrwxrwx)
astfel încât utilizatorul alex (vlad. "") este, de asemenea, usor de bătut pe fișierul "2" user serg
#uname -r
GNU / Linux
XEP MARZHOVY pur și simplu nu știe că percepția umană a limbii materne gorrrazdo mai bine și mai semnificativ, chiar dacă știți că o limbă străină în sovershenstve..priroda chelov este, luând în materiale.
nu că scopipastil :)
*
#uname -o
GNU / Linux