Dozvole

Bez obzira na to koliko dobro se snalazite na nekom Linux sistemu, koji nivo znanja posedujete, kad-tad ćete doći u situaciju da se detaljnije pozabavite problemom dozvola. Dozvole pokazuju ko ima pristup fajlovima i folderima na sistemu i koja prava nad njima ima.

Korisnici (vrste)
u - vlasnik
g - grupa koja ima prava vlasništva
o - ostali (koji nisu ni vlasnik niti pripadaju vlasničkoj grupi)
a - svi korisnici

Dozvole (vrste)
r - read (čitanje)
w - write (pisanje, brisanje, izmena)
x - execute (pokretanje)

Primer 1 - folder pod nazivom “priprema” sa odgovarajućim dozvolama

drwxrwx---  1 root users      24576 Dec 17 22:55 priprema

Dozvole nekog foldera mogu se razložiti na sledeći način:

d (tri oznake) (tri oznake) (tri oznake)

U ovom slučaju je to

d rwx rwx ---

Redom, s leva na desno, značenje je sledeće:

d - označava tip elementa (u ovom slučaju je to directory - folder)
rwx - dozvole vlasnika (uvek su prve tri oznake dozvole vlasnika fajla/foldera)
rwx - dozvole grupe kojoj pripada vlasništvo nad objektom
dozvole ostalih (koji ne spadaju u grupu koja ima pravo vlasništva i nisu vlasnik)

Kad slova pretvorimo u brojeve…
r - 4
w - 2
x - 1

rwx = 7 (4+2+1)

U ovom primeru folder ima 770 dozvole. Šta to znači? Vraćamo se na deo gde smo to sve razdvojili…

rwx - dozvole vlasnika (uvek su prve tri oznake dozvole vlasnika fajla/foldera) 4+2+1 = 7
rwx - dozvole grupe 4+2+1 = 7
— dozvole ostalih (koji ne spadaju u grupu kojoj se definišu prava i nisu vlasnici) 0+0+0 = 0

Vlasnik (u ovom primeru root) ima sva tri navedena prava - čitanje, pisanje i izvršavanje (rwx)
Grupa (u ovom primeru users) ima sva tri navedena prava - čitanje, pisanje i izvršavanje (rwx)
Ostali nemaju ni jedno od navedenih prava - čitanje, pisanje i izvršavanje (- - -)

Primer 2 - fajl pod nazivom “test.jpg” sa odgovarajućim dozvolama

-rwxrw----  2 root users    3011195 Nov 12 15:38 test.jpg

Napomena: Prva oznaka (-) je oznaka tipa elementa (kao što je d u primeru 1) i nemojte da vas to zbuni :wink:

vlasnik (root) ima rwx 4+2+1 = 7
grupa (users) ima rw (samo čitanje i pisanje ne i izvršavanje) 4+2+0 = 6
ostali (svi koji ne spadaju u users grupu) nemaju ni jedno od navedenih prava (- - -) 0+0+0 = 0

Dakle oktalna oznaka je 760.

Kako promeniti dozvole nekog objekta?

Odgovor je prilično jednostavan. Koristi se posebna komanda - chmod. Pomoću ove komande možete menjati dozvole nekog objekta unošenjem željene oktalne vrednosti ili definisanjem pojedinačnih parametara.

Primer 3 - promena dozvola unošenjem odgovarajućih oktalnih vrednosti

Ako želite da na folderu iz primera 1 omogućite čitanje korisnicima koji ne pripadaju vlasničkoj grupi, i istovremeno da ukinete izvršavanje korisnicima koji pripadaju vlasničkoj grupi (svima osim vlasniku objekta) prvo treba da izračunate oktalnu vrednost željenih dozvola. Za potrebe ovog primera iskoristićemo sliku.

http://www.dodaj.rs/f/38/Ff/2feTYAFp/1401553215242dozvole.jpg

Oktalna vrednost je:
rwx = 7 (4 + 2 + 1)
rw- = 6 (4 + 2 + 0)
r-- = 4 (4 + 0 + 0)

Komanda kojom vršimo promenu prava je:

chmod 764 priprema

Nakon izvršavanja ove komande dobijamo sledeće:

drwxrw-r--  1 root users      24576 Dec 17 23:10 priprema

Opšti ove komande je:

chmod (oktalna vrednost) naziv_objekta

Primer 4 - promena dozvola unošenjem odgovarajućih vrednosti vrste vlasnika i vrste dozvola

Uzmimo npr fajl test.jpg (iz primera 2).
Ako želite da dodate pravo izvršavanja grupi koja je vlasnik ovog fajla, to možete uraditi na sledeći način:

chmod g+x test.jpg

Ako želite da oduzmete pravo pisanja svim korisnicima, to možete uraditi na sledeći način:

chmod a-w test.jpg

Dakle, opšti obrazac komande u ovom slučaju je

chmod (vrsta korisnika)(dodavanje/oduzimanje)(vrsta dozvole) naziv_objekta

Vrstu korisnika (u pogledu vlasništva) i vrstu dozvole potražite u mini tabelama na samom početku ovog teksta

Maske
Ako koristite NTFS particije na svom sistemu, sigurno ste se sreli sa problemom manipulacije sadržajem koji se na njima nalazi. Zašto se problem uopšte javlja? Slackware (Linux u globalu) za rw pristup (koji omogućava i čitanje i pisanje po particijama) koristi FUSE u kombinaciji sa ntfs-3g drajverom. Prilikom svakog pokretanja se particija montira na odgovarajuću lokaciju i ponovo se postavljaju odgovarajuće dozvole za pristup ovim particijama (promena nije permanentna). Podrazumevano, veliki broj sistema montira NTFS particije sa parametrom “defaults” a to podrazumeva 777 dozvole na fajlovima i folderima. To znači da svi korisnici imaju sva tri prava o kojima smo pričali - čitanje, pisanje, pokretanje…Da li je to ono što želite? Ako nije, dozvole morate uneti u fstab fajl koji je na Linux sistemima zadužen za montiranje particija prilikom startovanja sistema (bez obzira da li je u pitanju sistemska ili nesistemska particija). Kako da postavimo odgovarajuće dozvole? E, tu na scenu stupaju maske - umask oznake. Dakle, morate uneti odgovarajuće umask oznake kako bi definisali ko koja prava ima nad odabranim particijama/diskovima.

fmask - fajl maska
dmask - folder maska

Primer 5 - NTFS particija koja je fstab fajlu podešena da se montira sa defaults parametrom (777 dozvole za sve objekte)

/dev/sda5        /media/podaci    ntfs-3g     defaults   1   0

Kako dobijamo odgovarajući umask koji ćemo upotrebiti? Ovaj broj dobijamo kada od 777 oduzmemo odgovarajuću brojčanu oznaku prava nad nekim elementom.

Ako želimo da nam na nekoj particiji svi folderi imaju 770 oznaku (kao u primeru 1) to ćemo izračunati na sledeći način:

777-770 = 007

znači, potrebna vrednost za dmask je 007. U fstab to unosimo kao dmask=007

Ako želimo da nam na nekoj particiji svi fajlovi imaju 760 oznaku (kao u primeru 2) to ćemo izračunati na sledeći način:

777-760 = 017

znači, potrebna vrednost za fmask je 017. U fstab to unosimo kao fmask=017

Kako sada izgleda primer 5?

/dev/sda5        /media/podaci    ntfs-3g     fmask=017,dmask=007   1   0

Promene će biti vidljive nakon restarta računara ili posle demontiranja/montiranja svih particija koje su u upotrebi.

Prilikom računanja uvek polazite od toga koje vam dozvole trebaju. Na način koji je opisan prvo izračunate oktalnu vrednost željenih dozvola (rwx), a potom dobijeni broj oduzmete od 777. Dobijena vrednost se upotrebljava kao dmask (ako su u pitanju folderi) ili fmask ako su u pitanju fajlovi.

autor: Rade Jekić (drummer)
članak izvorno napisan i objavljen na forumu Slackware Srbija zajednice
http://slackware-srbija.org/forum/viewtopic.php?f=38&t=1254

Zdravo,
imam sledeći probem sa premisijama. Instalirao sam lampp u /opt/lampp i tamo podigao drupal, ali mi prilikom istalacija kaže da ne postoje neki fajlovi, da je pokušao da ih kreira, ali da mu nije uspjelo i da je problem vjerovanto vezan sa premisijama. Meni ručno ne dozvoljava ništa da radim u tom folderu dok ga ne podignem kao administrator (iako sam ulogovan kao administrator). Postoji li način da postavim da me ne pita za takve stvari i ne traži admin dozvole na toj ili svim lokacijama ?

@StSoky
Malo je nejasno iz tvoje poruke, da li imaš problem sa dozvolama/nedostajućim fajlovima u Lampp, ili u Drupal-u?

Drupal prilikom instalaije pokuša da kreira neke fajlove (predpostavljam install.nešto) ali mu to ne dozovljava da uradi zbog dozvola.

“[font=‘Lucida Grande’][size=3][background=rgb(254, 245, 241)]The directory [/background][/size][/font]sites/default/files[font=‘Lucida Grande’][size=3][background=rgb(254, 245, 241)] does not exist. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the [/background][/size][/font]online handbook[font=‘Lucida Grande’][size=3][background=rgb(254, 245, 241)].[/background][/size][/font]”

Kako d apostavim da ima permission da radi on to automatksi ili da ja ne moram svaki put Open as admin da bi uradio nešto sa fajlovima u /

@StSoky
Ako je novija verzija Lamppa, da li si uradio security podešavanja?

/opt/lampp/lampp security

Ako nisi, neće biti dozvoljen pristup Mysql bazi (Drupal koristi valjda mysql?)

Novija verzija 1.8.1 ako se na varam, ali nigdje ne vidim lampp security niti bilo šta slično

@StSoky
Otvori terminal i ukucaj

sudo /opt/lampp/lampp security

Posle lozinke, startovaće se skripta koja definiše dozvole i ponudiće ti da definišeš
Mysql root pass, phpmyadmin pass i ftp pass

Zatim restart
/opt/lampp restart

tek posle toga možeš da kreiraš bazu za Drupal preko phpmyadmina

Našao sam fajl dodao “Allow from all”

http://stackoverflow.com/questions/6083323/new-xampp-security-concept

Ali opet isto

Našao sam fajl dodao “Allow from all”

http://stackoverflow.com/questions/6083323/new-xampp-security-concept

Ali opet isto

@StSoky
Koju verziju drupala hoćeš da isprobaš? skinuću pa ću da isprobam kod sebe, da vidim u čemu je problem

btw, drupal sam nekada davno probao, ali mi se nije svideo…moj favorit je Joomla :slight_smile:

ne pomaže nažalost i iz terminala

verzija 7.19

Ja joomlu ne mogu očima da vidim

@StSoky

10 minuta posla :slight_smile:

[ATTACH]981.IPB[/ATTACH]

[ATTACH]982.IPB[/ATTACH]

[ATTACH]983.IPB[/ATTACH]

haj probaću sada sve ispočetka, hvala

e da ima li način da se postavi da uvijek otvaram sve kao administrator

@StSoky

Ima…upravo kuckam uputstvo sa skrinovima, da bude lakše :slight_smile:

Redosled:

  1. instalacija Lampp

  2. security podešavanje sa /opt/lampp/lampp security u terminalu (kao root)
    ovo je NEOPHODNO da bi preko phpmyadmin-a mogla da se kreira mysql baza

  3. najlakše je otvoriti fajl menadžer kao root
    [ATTACH]984.IPB[/ATTACH]

  4. raspakovati drupal-7.19…zip
    nakon raspakivanja ja sam raspakovani folder preimenovao u dru

  5. kreiranje foldera “files” u /opt/lampp/htdocs/dru/sites/default (kao root)

  6. podešavanje dozvola za others/folder access/create and delete files

[ATTACH]985.IPB[/ATTACH]

  1. u istom folderu pravljenje kopije fajla default.setings.php, i rename kopije u settings.php
    8.) podešavanje dozvola za fajl settings.php others/access/read and write
    [ATTACH]986.IPB[/ATTACH]

  2. kreiranje mysql baze…(http://localhost/phpmyadmin)

  3. instalacija drupala

hvala, uz manje izmjene uspio sam, izgleda da lampp nije bio dobar nešto, vjerovanto je nešto falilo u downloadu. Čak sam podigao i joomlu da vidim kakva je sada, vidim da je dogurala do 3 pa da vidim kako to izgleda :-). Morao sam i za nju podašavati sve ručno i dodavati fajlove. Jel’ moguće to preskočiti, jer i drupal i joomla pokušaju sami nešto kreirati pa im ne dozvoljava da petljaju po toj logakiji, čak ni meni ne dozvoljava dok ne pokrenem ako administrator, jel’ se mogu staviti kao defaultno administrator svagdje? I da još jedna stvar, kod mene nema opcije da otvorim file manager kao root samo kao administrator.
U svakom slučaju još jednom hvala

Svejedno je, zavisi od distribucije…koji linux koristiš?
Što se tiče admin/root privilegija, možeš i da se uloguješ u linux kao root, pa kad sve podesiš, vratiš se kao običan korisnik

koristim mint

@StSoky
Ako hoćeš da imaš root nalog:


You can access the root user by giving root a password
sudo passwd root
enter in your password, then the new root password, and confirm
you will then be able to log in as root


ako znas koja je to lokacija kucaj
sudo chmod 777 -R lokacija
onda ce i drupal imati dozvolu da pise na tu lokaciju