Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Permisiuni Linux/ drepturi de acces Linux (rwx)
Last Updated: Dec 08 2014 18:16, Started by
shogun1
, Dec 05 2014 21:21
·
0
#1
Posted 05 December 2014 - 21:21
Linux este un sistem multi-tasking și multi-user, de aceea există reguli stricte privind proprietatea asupra fișierelor și directoarelor și drepturile de acces la acestea.
Drepturile acestea sunt de trei feluri: r= read (citire)= 4 w= write (scriere)= 2 x= execute (execuție)= 1 și se alocă pe trei nivele, trei categorii de utilizatori, proprietarul, grupul din care face parte acesta și restul lumii, al utilizatorilor. Drepturile se scriu uneori cu cifre, numărul respectiv reprezintă suma drepturilor. rwx= 4+2+1= 7 rw= 4+2= 6 rx= 4+1= 5 Explicație: numerotarea permisiunilor provine din modul octal, unde 1= 001, 2= 010, 3= 011, 4= 100, 5= 101, 6= 110, 7= 111, cifra 1 semnifică că ai acel drept, iar cifra 0 că nu-l ai. rwx 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 110 = 6 111 = 7 Permisiunile sunt de trei feluri (rwx) pentru trei categorii de utilizatori (proprietar, grup, restul) și sunt afișate în această ordine, cele 3 tipuri de permisiuni pentru cele 3 tipuri de utilizatori: rwxrwxrwx pentru drepturi depline, totale, 777. pppgggttt (p= proprietar, g= grup, t= toți) rwxrwxrwx (777, rwx pentru fiecare categorie) Dacă unul din aceste drepturi nu ne este permis se trece în locul aceluia (r sau w sau x) -, deci rwxrw-rw- înseamnă 766, permisiuni totale proprietar, grupul și restul userilor nu au drept de execuție. Cifrele sunt importante pentru CLI veți vedea. Fiecare utilizator din sistem are atribuit un director personal (/home/user) asupra căruia are permisiuni depline, este proprietarul acelui director și-al conținutului acestuia, sub-directoare (Desktop, Documents, Downloads, Music, Pictures, șamd) și fișiere. Poate crea fișiere (sau directoare), edita și modifica fișiere, șterge fișiere poate modifica aceste drepturi. Nu la fel e și-n alte locații, /, /usr, /boot, locații unde nu are drepturi totale! Pentru a crea/ modifica/ șterge directoare și/ sau fișiere din afara /home/user utilizatorul trebuie să capete drepturi de root cu su, sudo, kdesu, gtksudo. Putem verifica permisiunile asupra unui fișier sau director atât în interfața grafică, în file manager (Dolphin, Nautilus, Thunar, Pcmanfm, Krusader) cu clic dreapta pe fișier/ director- Properties- Permissions. Puteți observa că permisiunile sunt exprimate explicit. [ https://i.imgur.com/j1BRkST.png - Pentru incarcare in pagina (embed) Click aici ] În linie de comandă putem vedea permisiunile cu comanda ls (list= listează conținutul) urmată de diferiți parametri utili, -l pentru aceste informații privind drepturile, -h pentru afișarea dimensiunii în Kb, Mb, Gb, -a pentru afișarea tuturor directoarelor/ fișierelor, adică și a celor ascunse, în general comanda: ls -lh[ https://i.imgur.com/E2ESVBj.png - Pentru incarcare in pagina (embed) Click aici ] Iată conținutul directorului meu /home permisiunile asupra directoarelor/ fișierelor este chiar la început, hai să vedem ce înseamnă acele linii: drwxr-xr-x 2 shogun root 4.0K Dec 1 19:01 Desktop -rw-r--r-- 1 shogun root 1.1M Nov 6 20:01 Arch.png În ordine acele grupuri distincte reprezintă: - permisiunile (și tipul fișierului) - numărul de linkuri, legături - proprietarul - grupul proprietarului - dimensiune - data creării sau a ultimei modificări - numele fișierului Primul caracter din linie reprezintă tipul fișierului. În Linux circulă o sintagmă celebră: totul este un fișier, dacă ceva nu e un fișier atunci e un proces! Directoarele sunt un tip special de fișier, linkurile la fel, etc. În prima linie d ne arată că e vorba de un director, în a doua linie avem -, deci e vorba de un fișier normal, dacă aveam un block era b, pentru link era l, p pentru pipe, șamd . Urmează permisiunile propriu zise rwxr-xr-x și rw-r--r--, cu cifre le-am scrie 755 și 644. Putem modifica aceste drepturi folosind comanda chmod, putem modifica proprietarul cu chown. Putem modifica permisiunile/ proprietarul unor fișiere/ directoare din afara /home/user logați ca root, ca utilizator normal o putem face doar în /home/user! chmod -R 777 Desktopva modifica permisiunile asupra directorului Desktop și conținutului (opțiunea -R) în 777 (rwxrwxrwx) chmod 600 arch.pngva modifica drepturile asupra arch.png în 600 (rw-------) Putem adăuga sau elimina un drept cu:chmod useri+drept fișier sau chmod useri-drept fișier. În loc de useri punem u (user, owner, proprietar), g (group. grup), o (altii, others), a (all, toți). În loc de -drept/ +drept punem -w, -r, -x, respectiv +w, +r, +x sau chiar 2-3 drepturi, +wx, -rwx. De exemplu chmod a+w arch.png va da tuturor drept de scriere asupra acelui fișier. Similar putem schimba proprietarul cu chown, opțiunea -R (recursiv) este pentru directoare, va schimba și proprietarul conținutului directorului. chown -R root Desktop chown dan arch.pngva schimba proprietarul directorului Desktop din user în root, iar a doua va pune arch.png în posesia userului dan. E posibil să schimbăm drepturile după o referință, identic cu alt fișier/ director: chmod --reference fișier1 fișier2 chown --reference fișier1 fișier2 chgrp --reference fișier1 fișier2astfel încât fișier2 să aibă aceleași permisuni/ proprietar/ grup ca fișier1. Un utilitar util este chattr, acesta poate face un fișier/ director imuabil, de nemodificat, de neșters! Nici root nu poate ignora aceste setări, nici proprietarul, este util pentru păstrarea datelor importante. Adăugăm acest atribut al ”imortalității” cu chattr +i fișier sau chattr -R +i director, renunțăm la atribut cu chattr -i fișier, chattr -R -i director. Nu este indicat să dăm drepturi 777 asupra fișierelor, mai ales asupra celor din afara /home/user, putem intra în grupul proprietarului mai bine. Aflăm grupurile cărora aparținem cu comanda id: [ shogun @ stress ] - [ Arch ] - [ ~ ] [$]> id uid=1000(shogun) gid=0(root) groups=0(root),5(tty),10(wheel),91(video),92(audio),95(storage),98(power),100(users)Intrăm într-un nou grup cu gpasswd -a, părăsim grupul cu gpasswd -d: gpasswd -a user grup gpasswd -d user grup LE: partițiile de windows (fat, ntfs) nu cunosc aceste tipuri de permisiuni, dar putem specifica permisiunile pentru acestea setând drepturile pentru directorul unde sunt montate aceste parțitii, /mnt/date, /media/windows, etc. Și da, o partiție este interpretată tot ca un fișier, un anumit tip de fișier... Similar metodei prin care putem schimba permisiunile sau proprietarul unui fișier sau director din managerul de fișiere grafic (Dolphin, Nautilus, Thunar, etc) putem schimba aceste drepturi folosind un manager de fișiere CLI, mc (MIdnight Commander). Navigăm cu tastele săgeți la ”obiectul de lucru”, apăsăm Ctrl+x și apoi c pentru permisiuni sau Ctrl+x și apoi o pentru proprietar. Schimbare permisiuni: [ https://i.imgur.com/E3FRECT.png - Pentru incarcare in pagina (embed) Click aici ] Schimbare proprietar: [ https://i.imgur.com/2UfNr4N.png - Pentru incarcare in pagina (embed) Click aici ] Ar mai trebui menționat faptul că în cazul directoarelor, permisiunile au un alt sens: - read permite vizualizarea fișierelor (ls) - write permite crearea/ modificarea/ ștergerea fișierelor din director - execute permite intrarea în director (cd) și accesarea fișierelor acestuia Ca fapt divers și ”nepoțelul” Android folosește aceste permisiuni: [ https://i.imgur.com/eAvYkZj.png - Pentru incarcare in pagina (embed) Click aici ]
Edited by shogun1, 09 December 2014 - 04:51.
|
#4
Posted 06 December 2014 - 14:59
Multumesc, apreciez aceste lectii. Folosesc Archlinux si inca mai am multe de invatat.
|
#5
Posted 06 December 2014 - 15:13
Ai uitat de wx (3). Nu m-am gandit la asta pana acum, dar dupa un quick search pe gogu, se pare ca in cazul fisierelor binare, poti sa le executi fara sa le citesti (deci are sens doar execute). Chestia asta nu e valabila si in cazul scripturilor, care trebuie sa fie citite de un interpretor.
Ar mai trebui mentionat faptul ca in cazul directoarelor, permisiunile au un alt sens: - read permite vizualizarea fisierelor (ls) - write permite crearea/modificarea/stergerea fisierelor din director - execute permite intrarea in director (cd) si accesarea fisierelor acestuia |
#6
Posted 06 December 2014 - 15:52
Mai ai 3 biti, suid, sgid si sticky, bonus comportament diferit pe directoare vs fisiere
|
#7
Posted 06 December 2014 - 16:28
Gady_paul, on 06 decembrie 2014 - 15:13, said:
Ar mai trebui mentionat faptul ca in cazul directoarelor, permisiunile au un alt sens: - read permite vizualizarea fisierelor (ls) - write permite crearea/modificarea/stergerea fisierelor din director - execute permite intrarea in director (cd) si accesarea fisierelor acestuia danb1974, on 06 decembrie 2014 - 15:52, said:
Mai ai 3 biti, suid, sgid si sticky, bonus comportament diferit pe directoare vs fisiere N-am pretenția că am epuizat subiectul, care tutorial o face??? Edited by shogun1, 06 December 2014 - 16:59. |
#8
Posted 07 December 2014 - 11:43
poate ar fi fost util sa scrii si logica din spate - drepturile sunt de fapt exprimate binar (in ordinea predefinita drept de citire, drept de scriere, drept de executie), unde 1 inseamna ca ai dreptul respectiv, iar 0 ca nu il ai. de ex, un tip de acces de modul r-x se traduce binar in 101 (ai read, nu ai write, ai execute). si de acolo apare cifra 5 pentru acest tip de acces.
si daca-mi permiti o intrebare - ce inseamna root cand vorbim despre accese? iti dau raspunsul mai pe seara, daca nu stii raspunsul corect. si este un raspuns simplu de cateva cuvinte. |
#9
Posted 07 December 2014 - 13:33
@born2lose și alții: voi știți ce-i ăla un tutorial? Ați văzut
Ce înseamnă acces root? Ce-i cu întrebarea asta? Control privilegiat, drepturi administrative totale, acces neîngrădit, root acces este chiar sintagma folosită, dar dă-mi te rog răspunsul corect. LE: am adăugat explicații privind semnificația numerotării drepturilor (sistem octal, că-n binar 1= 1, 2= 10, șamd, nu 001, 010), mulțumesc pentru sugestie. Edited by shogun1, 07 December 2014 - 15:49. |
#10
Posted 07 December 2014 - 14:11
Mi-am adus aminte de o discutie la care un user incepator intrebase cum se pot seta drepturi de executie pe un fisier si astfel s-a ajuns la o dezbatere despre comanda 'chmod'.
Discutia a avut loc la topicul: http://forum.softped...manuala-zoiper/ Oarecum in prelungirea tutorialului de fata ma voi referi la cateva idei exprimate de mine la acel topic ca sa nu reiau ideile: _-_, on 02 aprilie 2014 - 19:35, said:
Ti-am dat un link catre comanda 'chmod' deoarece este una dintre cele mai importante comenzi Linux. Exista cai mai simple, intr-adevar, pentru a obtine acelasi efect. Insa daca la un moment nu ai acces decat in Terminal, atunci aceasta comanda este vitala. Uneori o gasesti la un simplu click dreapta (in meniul contextual) sau intr-unul din meniurile oricarui File manager. Exista si aplicatii dedicate care contin aceasta comanda. Dar cel mai bine ar fi sa o studiezi si sa o incerci. Nu este obligatoriu sa inveti de la inceput codurile numerice, deoarece parametrii ii poti exprima si literar, tinanand cont de drepturile pe fisier (care pot apartine utilizatorului curent, grupului, altora, tuturor), de atributele (modul) unui fisier (read, write, execute) si de operatori speciali cum ar fi "+" pentru setare a unui mod sau "-" pentru eliminare a unui mod. Multe comenzi Linux au si parametri pe care nu ii vei utiliza niciodata, deci nu ai de ce sa ii inveti pe toti. Nici nu trebuie sa ii inveti pe dinafara deoarece poti consulta oricand pagina din manual cu "man comanda", "comanda --help" etc. Parametrii de mai sus trebuie sa ii inveti, deoarece in multe file managere, gasesti comanda respectiva in meniu tot sub numele de chmod si doar bifezi "r", "w", "x" pentru (user), (g)roup si (o)thers. Asociata conceptului de recursivitate (parcurgere a subdirectoarelor pana la ultimul nivel de adancime) comanda devine foarte puternica si rapida. Uneori chiar si in interfata grafica a comenzii din diverse file managere trebuie sa bifezi un simplu "R" pentru recursivitate. Deci, nu poti evita cunoasterea acestei comenzi. Un exemplu insotit de screenshot am postat aici: http://forum.softped.../#entry14932364 Si mai este un exemplu din Midnight Commander in pagina urmatoare, urmat de anumite precizari oferite de Kagaroth. Din pacate au ramas ceva urme de flame la acel topic, dar continutul semnificativ a ramas nealterat. Observ ca o tendinta de inflamare a discutiilor se manifesta si la acest topic prin "provocarea" lansata de born2lose la adresa lui shogun1: "si daca-mi permiti o intrebare - ce inseamna root cand vorbim despre accese? iti dau raspunsul mai pe seara, daca nu stii raspunsul corect. si este un raspuns simplu de cateva cuvinte." (altfel nu mi-as fi amintit de discutia la care m-am referit aici). @born2lose Te invit sa lecturezi si sa iti insusesti ata punctul 9 din REGULAMENT / GHID AL ARIEI LINUX! cat si precizarile de la final! |
|
#11
Posted 07 December 2014 - 15:34
Nu știu dacă e neapărat o tentativă de flame, mai degrabă o problemă de exprimare, fondul mesajului e ok, forma lasă loc de interpretări. Este oarecum deranjant să fii ”tras de mânecă” că n-ai scris chestii neesențiale (pentru chmod reprezintă moduri speciale), gen sticky bit, suid, sgid (care nu-s folosite de majoritatea userilor comuni, de ce-ai vrea pe pc/ laptop să-ți execute altcineva un fișier cu drepturile tale, ale proprietarului?, sunt excepții, nu regula) și care-n opinia mea ar fi lungit/ complicat materialul. Parcă văd începătorul uitându-se chiorâș la chmod 1755, chmod 2755, chmod +s, chmod +t, șamd... Dar critica constructivă e binevenită, e mai bună decât ignorarea, e doar o diferență de opinii! Și poate opinia mea nu-i cea corectă.
Când am început cu tutorialele mă întrebam dacă n-ar fi indicat să fie blocate (locked) pentru a preveni poluarea, am decis că un subiect deschis este preferabil, se pot aduce corecții, completări, diverse sugestii. Ideal ar fi un alt tutorial în care să expui o altă problemă sau parte a problemei, modurile speciale ”Cum setăm suid, sgid, sticky bit” de exemplu? Dacă-l scrieți îl adaug la listă!
Edited by shogun1, 07 December 2014 - 15:54.
|
#12
Posted 07 December 2014 - 17:49
nu era o tentativa de flame, era cel mult... o observatie, poate.
shogun1, on 07 decembrie 2014 - 13:33, said:
Ce înseamnă acces root? Ce-i cu întrebarea asta? Control privilegiat, drepturi administrative totale, acces neîngrădit, root acces este chiar sintagma folosită, dar dă-mi te rog răspunsul corect. daca insa esti deschis sa inveti ceva nou astazi si daca imi permit sa iti explic, raspunsurile tale sunt toate gresite. root nu inseamna nici unul dintre lucrurile de mai sus. root este un cont pentru care sistemul de operare ignora ownership-ul fisierului. practic sistemul de operare vede userul root ca owner pe orice fisier (evident, atasandu-i aceleasi drepturi ca ale owner-ului). asta e tot. daca owner-ul nu are o anumita permisiune pe un fisier, atunci evident nici contul de root nu va avea. bineinteles, unele fisiere il au deja ca owner pe root, mai ales cele ce tin de sistem, dar pe scurt totul se rezuma la permisiuni. |
#13
Posted 07 December 2014 - 18:20
Sunt intotdeauna dispus sa invat lucruri noi, dar dupa parerea mea (care poate fi gresita...) spusele tale sunt doar o interpretare. Ignorarea ownershipului este echivalenta in mintea mea cu privilegii, accesul neingradit, deplin. In plus n-am gasit pe nicaieri interpretarea ta, si mi se pare o chestie tehnica, subiectiva, e semantica. Ne referim la acelasi lucru, intelegem acelasi lucru, dar il definim/ denumim diferit.
Edited by shogun1, 08 December 2014 - 04:57.
|
#14
Posted 08 December 2014 - 18:16
Nice to be root
sh-3.2# echo Test > aaa sh-3.2# chmod 000 aaa sh-3.2# ls -l aaa ---------- 1 root staff 5 Dec 8 18:15 aaa sh-3.2# cat aaa Test |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users