Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...

Recuperare fișiere dupa form...

Aplicatii stress test RAM
 Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...

Tzanca Uraganu - Inconjurat de Fe...

explicatie montaj breadboard
 3 Doors Down - Kryptonite

Semnalizati cand virati pe un dru...

Succesiune - mostenire apartament...

Donez Siofor de 1000mg ( diabet t...
 Izolatie intre parter si etaj

Hranirea pasarilor din orase -pro...

[unde] goarna tramvai

UPGRADE interfon de bloc Electra?
 

Permisiuni Linux/ drepturi de acces Linux (rwx)

* * * * * 1 votes
  • Please log in to reply
13 replies to this topic

#1
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
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 Desktop

va modifica permisiunile asupra directorului Desktop și conținutului (opțiunea -R) în 777 (rwxrwxrwx)
chmod 600 arch.png

va 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.png

va 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șier2

astfel î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.
Typos/ Completari


#2
GridController

GridController

    Member

  • Grup: Members
  • Posts: 278
  • Înscris: 18.04.2014
frumos, multam mult

#3
florinbad

florinbad

    Senior Member

  • Grup: Senior Members
  • Posts: 4,258
  • Înscris: 14.11.2006
Multumesc si eu! Posted Image

#4
cristus

cristus

    Junior Member

  • Grup: Members
  • Posts: 70
  • Înscris: 25.04.2007
Multumesc, apreciez aceste lectii. Folosesc Archlinux si inca mai am multe de invatat.

#5
Gady_paul

Gady_paul

    Senior Member

  • Grup: Senior Members
  • Posts: 2,421
  • Înscris: 12.01.2008
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
danb1974

danb1974

    Member

  • Grup: Members
  • Posts: 409
  • Înscris: 28.04.2006
Mai ai 3 biti, suid, sgid si sticky, bonus comportament diferit pe directoare vs fisiere

#7
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009

View PostGady_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
Și cum se poate interpreta altfel? Mi se pare logic, intuitiv. Dacă nu cei ce vor citi vor descoperi singuri!

View Postdanb1974, on 06 decembrie 2014 - 15:52, said:

Mai ai 3 biti, suid, sgid si sticky, bonus comportament diferit pe directoare vs fisiere
Ar mai fi multe de spus, de exemplu cum se pot modifica permisiunile/ proprietarul din mc. Ceea ce-am și făcut, și pentru că amândoi credeți că-i necesar să explic diferențele între ce înseamnă rwx pe directoare am adăugat și aia.

N-am pretenția că am epuizat subiectul, care tutorial o face???

Edited by shogun1, 06 December 2014 - 16:59.


#8
born2lose

born2lose

    Senior Member

  • Grup: Senior Members
  • Posts: 7,769
  • Înscris: 06.09.2004
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
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
@born2lose și alții: voi știți ce-i ăla un tutorial? Ați văzut multe vreunul exhaustiv, care să acopere absolut tot ce se poate spune despre subiectul respectiv???

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
_-_

_-_

    - Magister Ludi -

  • Grup: Moderators
  • Posts: 22,901
  • Înscris: 21.03.2013
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:

View Post_-_, 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
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
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ă!  Posted Image

Edited by shogun1, 07 December 2014 - 15:54.
Completari


#12
born2lose

born2lose

    Senior Member

  • Grup: Senior Members
  • Posts: 7,769
  • Înscris: 06.09.2004
nu era o tentativa de flame, era cel mult... o observatie, poate.

View Postshogun1, 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.
exact la asta ma refeream - nu incercam sa ma dau superior, ci doar sa-ti dau o tema de gandire. ok, nu e locul cel mai potrivit pentru asta, dar poti invata si aici la fel ca oriunde altundeva. daca nu iti doresti lucrul asta, poti sa nu mai citesti postul mai departe, imi cer scuze pentru intruziunea de mai devreme.

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
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
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.
Completari


#14
danb1974

danb1974

    Member

  • Grup: Members
  • Posts: 409
  • Înscris: 28.04.2006
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

Chirurgia cranio-cerebrală minim invazivă 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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate