Nov 4, 2023

ACL - Lista kontorle pristupa

"ACL" se odnosi na "Access Control List" ili "Lista kontrole pristupa" na Linux operativnom sistemu. ACL-ovi su sistem za upravljanje dozvolama i kontrolu pristupa datotekama i direktorijumima koji ide iznad i dalje proširuje osnovni sistem dozvola na Linuxu.

Osnovni sistem dozvola na Linuxu uključuje tri osnovne kategorije korisnika: vlasnika datoteke, grupu vlasnika i sve ostale korisnike. Sa osnovnim sistemom dozvola, možete kontrolisati pristup datotekama i direktorijumima za ove tri kategorije korisnika (čitanje, pisanje i izvršavanje dozvola).

ACL-ovi omogućavaju detaljniju kontrolu pristupa, dopuštajući definisanje dodatnih korisnika i grupa i precizno dodeljivanje prava za svaku od njih. To znači da možete postaviti granularne dozvole za različite korisnike i grupe koji nisu obuhvaćeni osnovnim sistemom dozvola.

Na primer, možete omogućiti jednom korisniku samo čitanje datoteke, drugom korisniku dopustiti i čitanje i pisanje, a trećem korisniku omogućiti sva prava (čitanje, pisanje, izvršavanje). Isto tako, možete dodeliti različite grupe korisnika sa različitim dozvolama za istu datoteku.

Korišćenje ACL-ova je posebno korisno u situacijama gde je potrebna precizna kontrola pristupa, kao što su zajednički serveri, sistemi sa mnogo korisnika i više korisnika sa različitim potrebama za pristupom datotekama.

Kernel podrška za ACL

Kernel podrška za ACL (Access Control Lists) omogućava operativnom sistemu da podržava napredne metode kontrole pristupa na fajlovima i direktorijumima. Da biste proverili da li je kernel podrška za ACL omogućena, možete koristiti sledeće korake:

  1. Provera kernel konfiguracije:

    Otvorite terminal i izvršite sledeću komandu za proveru kernel konfiguracije:

    zcat /proc/config.gz | grep CONFIG_FS_POSIX_ACL

    Ova komanda će proveriti da li je podrška za ACL omogućena u kernel konfiguraciji. Ako je rezultat =y, to znači da je podrška za ACL uključena.

  2. Provera montiranog fajl sistema:

    Da biste proverili da li je ACL podrška omogućena za određeni montirani fajl sistem, koristite komandu mount:

    mount | grep acl

    Ova komanda će prikazati sve montirane fajl sisteme koji podržavaju ACL. Ako je prisutan odgovarajući unos, to znači da je ACL podrška omogućena za taj fajl sistem.

  3. Instalacija acl paketa (opciono):

    U nekim distribucijama Linuxa, podrška za ACL može biti isključena po podrazumevanim podešavanjima, ali možete je omogućiti instalacijom odgovarajućeg paketa. Na primer, na Debian ili Ubuntu sistemima, instalirajte paket acl komandom:

    sudo apt-get install acl

    Nakon instalacije, podrška za ACL će biti dostupna i kernel će je podržavati.

Nakon sprovođenja ovih koraka, trebali biste biti u mogućnosti da koristite ACL na vašem sistemu ako je podrška za ACL omogućena u kernelu.

Provera montiranog file sistema

Da biste proverili da li je ACL (Access Control Lists) podržan na montiranom fajl sistemu na Linuxu, možete koristiti komandu tune2fs. Ova komanda omogućava pregled i promenu osobina fajl sistema. Evo kako možete proveriti da li je ACL omogućen na mount tački:

  1. Prvo, pronađite putanju do mount tačke koju želite da proverite. Na primer, ako želite da proverite /mnt/data, možete koristiti komandu df da biste videli informacije o montiranim tačkama:

    df -h

    Na listi montiranih tačaka potražite putanju /mnt/data ili drugu montiranu tačku koja vas zanima.

  2. Nakon što pronađete mount tačku, možete koristiti tune2fs komandu da biste proverili da li je ACL omogućen. Zamijenite /dev/sdXY putanjom do fajl sistema na koji se montira mount tačka:

    sudo tune2fs -l /dev/sdXY | grep "Default mount options"

    Ako rezultat sadrži "acl", to znači da je ACL podrška omogućena za taj fajl sistem na montiranoj tački.

Na primer, ako rezultat izgleda ovako:

Default mount options: user_xattr acl

To ukazuje da su podešene podrške za "user_xattr" i "acl" na tom fajl sistemu.

Ova metoda vam omogućava da proverite da li je ACL omogućen za određeni fajl sistem na montiranoj tački.

getfacl

getfacl je Linux komanda koja se koristi za dobijanje i prikazivanje kontrolnih lista pristupa (ACL) za datoteke i direktorijume. ACL-ovi omogućavaju detaljniju kontrolu nad pravima pristupa datotekama i direktorijumima u odnosu na standardne Linux dozvole.

Osnovna sintaksa komande getfacl je:

getfacl [opcije] ime_datoteke_ili_direktorijuma

Neki od čestih parametara komande getfacl uključuju:

  • -p ili --skip: Preskače ispisivanje podrazumevanih dozvola i ispisuje samo eksplicitne ACL-ove.
  • -s ili --separator=separators: Definiše separator(e) koji će se koristiti za razdvajanje izlaznih informacija.

Primeri upotrebe komande getfacl:

  1. Prikazivanje ACL-ova za određenu datoteku:

    getfacl my_file.txt

    Ovo će prikazati ACL-ove za datoteku my_file.txt.

  2. Prikazivanje ACL-ova za određeni direktorijum:

    getfacl /path/to/my_directory

    Ovo će prikazati ACL-ove za direktorijum /path/to/my_directory.

  3. Prikazivanje samo eksplicitnih ACL-ova za datoteku (preskačući podrazumevane dozvole):

    getfacl -p my_file.txt
  4. Prikazivanje ACL-ova za više datoteka i direktorijuma:

    getfacl file1.txt file2.txt my_directory

    Ovo će prikazati ACL-ove za sve navedene datoteke i direktorijume.

Korišćenje komande getfacl je korisno kada želite detaljnije razumevanje ACL-ova koji se primenjuju na datoteke i direktorijume na vašem sistemu. ACL-ovi omogućavaju pristup različitim korisnicima i grupama sa različitim dozvolama, što je korisno u okruženjima gde je potrebna granularna kontrola nad pristupom resursima.

vgreduce

 Komanda vgreduce se koristi za smanjenje zapremine (ili uklanjanje) volume grupe (VG) u sistemu. Ovo se obično radi ako želite osloboditi prostor na disku ili ako želite izbrisati VG sa diska. U nastavku su objašnjeni osnovni koncepti i primeri za korišćenje komande vgreduce.

Napomena: Pre nego što smanjite VG, pobrinite se da nema važnih podataka unutar tog VG-a i da su svi logical volumi (LV) i fizički volumeni (PV) u VG-u ispravno izmenjeni ili uklonjeni. Postupak može biti nepovratan i može izazvati gubitak podataka.

Primeri upotrebe vgreduce:

  1. Uklanjanje Praznog Fizičkog Volumena (PV):

    Ako želite ukloniti prazan PV iz volume grupe, možete koristiti sledeći primer:

    sudo vgreduce <ime_volume_grupe> <putanja_do_fizičkog_volumena>

    Na primer, ako imate VG "my_vg" i želite ukloniti prazan PV "/dev/sdb":

    sudo vgreduce my_vg /dev/sdb

    Ova komanda će ukloniti PV "/dev/sdb" iz VG "my_vg".

  2. Uklanjanje Neiskorišćenog Prostora PV-a:

    Ako postoji neiskorišćen prostor unutar PV-a i želite ga osloboditi, možete koristiti sledeći primer:

    sudo vgreduce --all <ime_volume_grupe>

    Na primer, ako želite da oslobodite neiskorišćeni prostor u VG "my_vg":

    sudo vgreduce --all my_vg

    Ova komanda će osloboditi neiskorišćeni prostor u VG "my_vg".

  3. Pozivanje Bez Parametara:

    Možete pozvati vgreduce bez dodatnih parametara kako biste pratili upute u interaktivnom režimu. Na ovaj način, komanda će vas voditi kroz proces uklanjanja PV-a.

    sudo vgreduce

    Ova opcija će zahtevati dodatni unos, uključujući ime volume grupe i putanju do PV-a koji želite ukloniti.

Oprezno koristite vgreduce, i uvek napravite sigurnosne kopije važnih podataka pre nego što smanjujete volume grupe ili uklanjate PV-ove.