Nov 3, 2023

lsblk

 lsblk je komanda koja se koristi za prikazivanje informacija o blokovima skladišta (diskovima i particijama) na Linux sistemu. Ova komanda vam omogućava da vidite kako su diskovi i particije povezani i kako su montirani u direktorijume.

Evo osnovnog oblika komande lsblk:

lsblk

Ovo će prikazati tabelu koja sadrži informacije o svim blokovima skladišta na sistemu, uključujući fizičke i logičke diskove, particije i ostale uređaje. Evo primera izlaza komande lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   500M  0 part /boot
├─sda2   8:2    0    20G  0 part /
└─sda3   8:3    0  79.5G  0 part /home
sdb      8:16   0   500G  0 disk
├─sdb1   8:17   0  100G  0 part /mnt/data
├─sdb2   8:18   0   50G  0 part /mnt/backups
└─sdb3   8:19   0  350G  0 part

Ovde su neke od važnih kolona:

  • NAME: Ime bloka skladišta.
  • MAJ:MIN: Major i minor brojevi uređaja.
  • RM: "Removeable" - 0 ako uređaj nije izmenjiv, 1 ako jeste.
  • SIZE: Veličina uređaja ili particije.
  • RO: "Read-Only" - 0 ako uređaj/particija nije samo za čitanje, 1 ako jeste.
  • TYPE: Tip uređaja (disk, particija, itd.).
  • MOUNTPOINT: Putanja do mesta na kojem je uređaj ili particija montirana (ako je montirana).

U primeru izlaza komande, možete videti da postoje dva diska (sda i sdb) i kako su povezane particije na svakom disku. Takođe možete videti da li su particije montirane i na kojim putanjama.

Komanda lsblk je korisna za brzo pregledavanje skladišnog prostora na sistemu i identifikaciju uređaja i particija.

Podešavanje prava pristupa

 Da biste podesili prava pristupa (permissions) na Linux sistemu, koristite komandu chmod. Prava pristupa određuju ko može da čita, piše ili izvršava određeni fajl ili direktorijum. Evo kako koristiti komandu chmod:

  1. Sintaksa komande chmod:

    chmod [opcije] prava fajl_ili_direktorijum

    Gde su:

    • opcije: Opcioni argumenti komande, kao što su -R za rekurzivno menjanje prava za direktorijume i fajlove unutar datog direktorijuma.
    • prava: Specifikacija prava u obliku brojeva ili simbola. Koristi se za definisanje prava za vlasnika (owner), grupu (group) i ostale (others).
    • fajl_ili_direktorijum: Putanja do fajla ili direktorijuma za koje želite da promenite prava.
  2. Korišćenje brojeva za prava:

    Prava se obično definišu brojevima. Svaka kombinacija prava ima svoju numeričku vrednost:

    • 4: Dozvola za čitanje (read).
    • 2: Dozvola za pisanje (write).
    • 1: Dozvola za izvršavanje (execute).
    • 0: Bez dozvole.

    Prava za vlasnika, grupu i ostale se obično definišu kao trocifreni brojevi. Prva cifra predstavlja prava vlasnika, druga cifra prava grupe, a treća cifra prava ostalih. Na primer, chmod 755 fajl.txt postavlja prava tako da vlasnik može da čita, piše i izvršava fajl, dok grupa i ostali mogu samo da čitaju i izvršavaju fajl.

  3. Korišćenje simbola za prava:

    Prava se takođe mogu definisati korišćenjem simbola. Osnovni simboli za prava uključuju:

    • +: Dodaj prava.
    • -: Ukloni prava.
    • =: Postavi prava na tačno navedene vrednosti.

    Na primer, chmod u+rwx,g+rx,o+r fajl.txt dodaje vlasniku prava za čitanje, pisanje i izvršavanje, grupi prava za čitanje i izvršavanje, a ostalima pravo za čitanje fajla.

  4. Primeri:

    • Postavljanje prava tako da samo vlasnik može da izvršava skriptu:

      chmod 700 skripta.sh
    • Dodeljivanje prava za čitanje i pisanje vlasniku i grupi:

      chmod u+rw,g+rw fajl.txt
    • Uklanjanje prava za izvršavanje od svih korisnika osim vlasnika:

      chmod go-x fajl.txt
    • Rekurzivna promena prava za sve fajlove i direktorijume u određenom direktorijumu:

      chmod -R 755 /putanja/do/direktorijuma

Podesite prava pažljivo, jer nepravilno postavljena prava mogu dovesti do bezbednosnih problema ili problema sa funkcionalnošću. Preporučuje se da pravilno razumete i primenjujete prava pristupa na vašem Linux sistemu.

Komande setfacl i getfacl

setfacl i getfacl su Linux komande koje se koriste za upravljanje i pregled kontrolnih listi pristupa (ACL) na datotekama i direktorijumima. ACL omogućava detaljniju kontrolu pristupa nego osnovni sistem prava pristupa.

Evo kako se koriste:

setfacl:

  • setfacl -m permissions /path/to/file: Dodaje ACL na datoteku ili direktorijum. Na primer: setfacl -m u:jane:rwx /path/to/file dodeljuje korisnici "jane" prava za čitanje, pisanje i izvršavanje na datoteci.

  • setfacl -x permissions /path/to/file: Uklanja ACL sa datoteke ili direktorijuma. Na primer: setfacl -x u:jane /path/to/file uklanja sve pristupe korisniku "jane" sa datoteke.

  • setfacl -b /path/to/file: Uklanja sve ACL sa datoteke ili direktorijuma.

getfacl:

  • getfacl /path/to/file: Prikazuje trenutne ACL na datoteci ili direktorijumu. Na primer:
# file: /path/to/file
# owner: user1
# group: group1
user::rw-
user:jane:r-x
group::r--
mask::r-x
other::---

Ovde se prikazuju prava pristupa za vlasnika ("user1"), korisnika "jane", grupu "group1" i ostale korisnike.

Ove komande su korisne kada želite da detaljno upravljate pristupima na datotekama i direktorijumima, posebno u višekorisničkim okruženjima gde osnovna prava pristupa nisu dovoljna.


Primer za uklanjanje prava ostalim korisnicima

Da biste uklonili prava za sve ostale korisnike (all others) sa određene datoteke ili direktorijuma, koristite komandu setfacl. Evo kako to možete učiniti:

setfacl -m o::--- /putanja/do/datoteke-ili-direktorijuma

Ovde -m označava da želimo da izmenimo ACL (Access Control List), o::--- postavlja prava za "all others" na "---" što znači da se sva prava uklanjaju. /putanja/do/datoteke-ili-direktorijuma je putanja do datoteke ili direktorijuma na koji želite primeniti ove promene.

Na primer, ako želite da uklonite sva prava za sve ostale korisnike sa datoteke "file.txt", koristite sledeću komandu:

setfacl -m o::--- /putanja/do/file.txt

Ovo će ukloniti sva prava za sve ostale korisnike sa datoteke "file.txt".


Podešavanje default prava

Opcija -d se koristi za postavljanje podrazumevanih ACL prava za direktorijum.

Evo primera kako biste mogli koristiti setfacl -d za postavljanje podrazumevanih ACL prava na direktorijum:

setfacl -d -m u:jane:r-x /path/to/directory

Ova komanda postavlja podrazumevane ACL prava za korisnika "jane" na direktorijum "directory". Prava su postavljena na r-x, što znači da korisnik "jane" ima dozvolu za čitanje i izvršavanje, ali ne i pisanje.

Kada se postave podrazumevana ACL prava na direktorijum, ta prava će se primenjivati na sve nove datoteke i direktorijume koji se kreiraju unutar tog direktorijuma. To omogućava preciznu kontrolu nad pravima korisnika za datoteke koje se kreiraju unutar tog direktorijuma.

Napomena: ACL prava omogućavaju detaljniju kontrolu nad pravima za korisnike i grupe, tako da možete precizno odrediti pristup datotekama i direktorijumima u sistemu.



Pregled prava pristupa

 Da biste pregledali prava pristupa (permissions) za fajl ili direktorijum na Linux sistemu, koristite komandu ls zajedno sa opcijom -l za detaljni prikaz. Evo kako možete pregledati prava pristupa:

  1. Sintaksa komande ls za pregled prava pristupa:

    ls -l putanja/do/fajla_ili_direktorijuma

    Gde je putanja/do/fajla_ili_direktorijuma putanja do fajla ili direktorijuma za koje želite da pregledate prava pristupa.

  2. Prikaz detaljnih informacija:

    Korišćenjem opcije -l, komanda ls će prikazati detaljne informacije o fajlu ili direktorijumu, uključujući prava pristupa. Rezultati će izgledati otprilike ovako:

    -rwxr-xr-x 1 korisnik grupa 12345 datum_vreme fajl.txt

    Gde:

    • Prvi karakter (npr. -) označava tip fajla (običan fajl, direktorijum, simbolička veza itd.).
    • Naredna tri karaktera (npr. rwx) predstavljaju prava vlasnika (owner) fajla.
    • Sledeća tri karaktera (npr. r-x) predstavljaju prava grupe (group).
    • Poslednja tri karaktera (npr. r-x) predstavljaju prava ostalih korisnika (others).
    • Broj "1" označava broj linkova ka fajlu ili direktorijumu.
    • "korisnik" označava vlasnika fajla.
    • "grupa" označava grupu kojoj fajl pripada.
    • "12345" označava veličinu fajla u bajtovima.
    • "datum_vreme" označava datum i vreme poslednje izmene fajla.
    • "fajl.txt" je ime fajla ili direktorijuma.
  3. Pojašnjenje karaktera za prava:

    • r: Dozvola za čitanje (read).
    • w: Dozvola za pisanje (write).
    • x: Dozvola za izvršavanje (execute).
    • -: Bez dozvole.

Na primer, u rezultatu -rwxr-xr-x, vlasnik ima dozvole za čitanje, pisanje i izvršavanje, dok grupa i ostali imaju dozvole samo za čitanje i izvršavanje fajla.

Pregled prava pristupa pomaže vam da razumete ko može da pristupi fajlu ili direktorijumu i šta može da radi s njim.