Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Linux

Kako delujejo pravice datotek v Linuxu z ukazoma chmod in chown

Varnostni model operacijskega sistema Linux temelji na natančno določenih pravicah dostopa do vsake posamezne datoteke in mape. Če pravice niso ustrezno nastavljene, lahko spletni strežnik javi napako 403 Forbidden ali Permission Denied, po drugi strani pa preveč odprte pravice predstavljajo resno varnostno tveganje. V tem vodniku si bomo ogledali strukturo pravic ter praktično uporabo ukazov chmod in chown.

Struktura dovoljenj in uporabniški nivoji

Vsaka datoteka v Linuxu določa pravice za tri skupine uporabnikov: lastnika (User), skupino (Group) in vse ostale (Others).

Pravica Simbol Številčna vrednost Pomen za datoteko / mapo
Branje (Read) r 4 Branje vsebine datoteke ali izpis seznama datotek v mapi.
Pisanje (Write) w 2 Spreminjanje vsebine, brisanje ali ustvarjanje novih datotek.
Izvajanje (Execute) x 1 Zagon skripte/programa ali vstop v mapo (odpiranje mape).

Spreminjanje pravic z ukazom chmod

Ukaz chmod (Change Mode) omogoča nastavitev dovoljenj s seštevanjem številčnih vrednosti (npr. 4 + 2 + 1 = 7 za vse pravice).

  1. chmod 644 datoteka.txt: Lastnik lahko bere in piše (6), skupina in ostali le berejo (4). Standard za spletne datoteke.
  2. chmod 755 skripta.sh: Lastnik ima vse pravice (7), ostali lahko berejo in izvajajo (5). Standard za mape in zagonske skripte.
  3. chmod 700 kljuc.pem: Popoln dostop ima izključno lastnik, vsi ostali nimajo nobenega dostopa. Obvezno za SSH ključe.

Spreminjanje lastništva z ukazom chown

Ukaz chown (Change Owner) določa, kateri uporabnik in katera skupina sta uradna lastnika datoteke ali mape.

# 1. Sprememba lastnika datoteke na uporabnika 'www-data' (spletni strežnik)
sudo chown www-data index.php

# 2. Sprememba lastnika in skupine hkrati
sudo chown www-data:www-data index.php

# 3. Rekurzivna sprememba lastništva celotne spletne mape (-R)
sudo chown -R www-data:www-data /var/www/html/

Zlato pravilo varnosti pri pravicah

Nikoli ne uporabljajte ukaza chmod 777 na produkcijskih strežnikih. S tem vsem uporabnikom in morebitnim napadalcem omogočite neomejeno spreminjanje ter izvajanje škodljive kode. Vedno uporabite najmanjši možni nivo pravic, ki še omogoča nemoteno delovanje aplikacije.

back Nazaj na blog