Skoro sam čuo od jednog dečka koji je skoro počeo sa Linuksom da kad želi da vidi permisije u oktalnom formatu – jer ove u human-friendly mu još nisu najjasnije – to radi tako što se na server uloguje kroz FileZilla program pa iz njega pokrene ‘File Permissions’ nad fajlom i tako vidi koja je permisija u oktalnom formatu.

Ovo je obično potrebno ukoliko korisnik želi da prepiše permisije koje jedan ima fajl (kad kažem fajl mislim i na regularan fajl i na folder i na simlink) na neki drugi fajl – a nije baš upoznat sa načinom dodele permisija u human-friendly formatu, jer sem chmod 755 može se koristiti i chmod u=rwx,g=rx,o=rx pa se iz listinga trenutnih permisija mogu dodeliti ekvivalentne bez korišćenja oktalnog moda.

Dakle ekvivalent za 777 bi bio a=rwx pri čemu je a oznaka za svi (all) a rwx oznaka za read-write-execute. U primeru chmod u=rwx,g=rx,o=rx – u je oznaka za korisnika (user), g za grupu (group) i o za (ostale) others. U sintaksi = znači dodaj konkretno ove privilegije, – znači oduzmi od postojećih ove privilegije (u-w će oduzeti korisniku write privilegiju) a + znači dodaj na postojeće privilegije i ovu (g+x će grupi dodeliti execute privilegiju)

Lepo opisano za početnike šta je šta

Evo jednog primera kopiranja postojećih permisija gde imate dva fajla sa različitim permisijama i pregledom istih u human-friendly formatu te dodelom ekvivalentih privilegija drugom fajlu.

Za izlistavanje privilegija u oktalnom formatu – što može biti zanimljivo početnicima – koristimo komandu stat koja je zapravo deo iz coreutils paketa.
Da biste izlistali permisije u oktalnom formatu koristi se sintaksa:

stat -c 'FORMAT_ISPISA' fajl

U ‘FORMAT_ISPISA’ se mogu sem samih permisija postaviti i mnogi drugi parametri za ispis poput datuma zadnje izmene ili datuma zadnjeg pristupa fajlu, vlasnik fajla i slično, svaki parametar za format počinje sa % – ali nama su u ovom slučaju kad su permisije u pitanju zanimljivi samo sledeći parametri za format:

  • %a – Permisije nad fajlom u oktalnom formatu
  • %A – Permisije nad fajlom u human-friendly formatu (kao sa ls -l)
  • %n – Naziv fajla

Te bi za listing permisija u našem slučaju bilo korišćeno: stat -c ‘%a %A %n’ testfajl*

Ostali parametri koji nam mogu biti zanimljivi su:

  • %F – tip fajla (regularan fajl, prazan, folder, link…)
  • %U – ime korisnika koji je vlasnik fajla
  • %G – ime grupe koja je vlasnik fajla
  • %x – vreme poslednjeg pristupa fajlu
  • %w – vreme kad je fajl kreiran
  • %y – vreme kad je fajl poslednji put menjan
  • Proizvoljni karakteri ili simboli za lakši prika fajla, bez % (–>, ->, |, ime:, štagod)

Primer ovako nekakvog prikaza

Sad dakle, kad imate permisije u oktalnom formatu a niste najbolji sa permisijama u human-frindly formatu, možete ‘prekopirati’ permisije sa standardnim chmod 755 (ili koji već)