Uprawnienia plików w praktyce – dlaczego masz dostęp, mimo że system pokazuje brak uprawnień
Uprawnienia plików w praktyce – dlaczego masz dostęp, mimo że system pokazuje brak uprawnień
To jeden z najbardziej irytujących i jednocześnie najczęściej źle rozumianych problemów:
👉 system mówi: „brak uprawnień”
👉 a Ty… i tak możesz otworzyć plik
albo odwrotnie:
👉 masz „pełną kontrolę”
👉 a system blokuje dostęp
Brzmi jak bug?
W rzeczywistości to efekt złożonego modelu bezpieczeństwa, który działa inaczej, niż większość użytkowników zakłada.
🧠 Fundament: uprawnienia ≠ dostęp
Największy błąd:
❌ „Mam uprawnienia → mam dostęp”
❌ „Nie mam uprawnień → brak dostępu”
👉 W praktyce:
dostęp = wynik wielu mechanizmów jednocześnie
🔐 Model bezpieczeństwa w Windows (NTFS)
System plików NTFS używa:
- ACL (Access Control List)
- ACE (Access Control Entry)
Każdy plik ma listę wpisów:
- Allow (zezwól)
- Deny (zabroń)
🔥 Kluczowa zasada:
👉 Deny > Allow
Jeśli gdziekolwiek masz „Deny” → blokada
ALE…
To nie wszystko.
🧩 Token dostępu – najważniejszy element
Każdy proces działa z tzw. Access Token.
Co zawiera token?
- SID użytkownika
- grupy (Administrators, Users itd.)
- przywileje (privileges)
👉 Gdy otwierasz plik:
Token użytkownika → porównanie z ACL → decyzja
🔥 Dlaczego masz dostęp mimo „braku uprawnień”?
Bo:
👉 Twój token zawiera więcej niż myślisz
Przykład:
Plik:
- brak uprawnień dla użytkownika „Marek”
- ale ma dostęp grupa „Administrators”
A Ty:
👉 jesteś w tej grupie
➡️ efekt: masz dostęp mimo pozornego braku
⚙️ Dziedziczenie uprawnień (Inheritance)
To kolejny powód chaosu.
Jak działa?
Folder nadrzędny przekazuje uprawnienia do:
- podfolderów
- plików
Przykład:
C:\Dane → Allow: Users
Plik:
C:\Dane\plik.txt → brak wpisów
👉 efekt:
✔ masz dostęp przez dziedziczenie
🔥 Problem:
GUI może pokazywać tylko część informacji
👉 a faktyczne uprawnienia są „złożone”
🔄 Cache uprawnień (Access Check Cache)
Windows cache’uje wyniki sprawdzania dostępu.
Dlaczego?
- wydajność
- mniej operacji na dysku
Efekt uboczny:
👉 zmieniasz uprawnienia
👉 ale dostęp się nie zmienia od razu
Rozwiązanie:
- wylogowanie
- restart procesu
- restart systemu
🧠 UAC i „podniesienie uprawnień”
Kolejny kluczowy temat.
UAC (User Account Control)
Masz dwa tokeny:
- standardowy
- administratora
Efekt:
👉 bez „Uruchom jako administrator”:
- brak dostępu
👉 po podniesieniu:
- nagle działa
🔥 „Przejmowanie własności” (Take Ownership)
Administrator może:
- zmienić właściciela pliku
- nadać sobie dostęp
👉 nawet jeśli wcześniej go nie miał

🧩 Uprawnienia vs udziały sieciowe
Częsty przypadek:
👉 masz dostęp lokalnie
👉 brak dostępu przez sieć
Dlaczego?
Bo działają 2 warstwy:
- NTFS
- Share permissions
👉 obowiązuje bardziej restrykcyjna
🧪 Diagnostyka w Windows
1. Sprawdzenie ACL
Get-Acl "C:\plik.txt"
2. Efektywne uprawnienia
GUI:
👉 Właściwości → Security → Advanced → Effective Access
3. Token użytkownika
whoami /groups
4. Sprawdzenie właściciela
Get-Acl | Select Owner
🐧 Linux – zupełnie inna filozofia
🔐 Model Linux (POSIX)
Każdy plik ma:
- owner (użytkownik)
- group
- others
Uprawnienia:
rwx rwx rwx
🔥 Dlaczego masz dostęp mimo „braku”?
1. Root
👉 root ma dostęp do wszystkiego
2. Grupy
- plik: grupa „dev”
- Ty jesteś w „dev”
👉 masz dostęp
3. ACL (rozszerzone)
Linux też ma ACL:
getfacl plik
⚠️ Cache w Linux
System również cache’uje:
- uprawnienia
- UID/GID
👉 czasem wymagany logout
🔥 Najczęstsze scenariusze problemów
❌ „Nie mam uprawnień, ale działa”
✔ dziedziczenie
✔ grupa
✔ administrator
✔ cache
❌ „Mam uprawnienia, ale nie działa”
✔ Deny gdzieś wyżej
✔ brak uprawnień do folderu nadrzędnego
✔ blokada przez UAC
✔ inny kontekst (np. usługa)
❌ „Działa tylko jako administrator”
✔ brak uprawnień w normalnym tokenie
✔ wymagane privilege
❌ „Działa lokalnie, nie działa w sieci”
✔ konflikt NTFS vs Share
🧠 Najważniejszy insight
👉 Uprawnienia to nie lista „tak/nie”
To:
- token użytkownika
- ACL
- dziedziczenie
- cache
- kontekst uruchomienia
👉 wszystko naraz
🔐 Kiedy to jest problem bezpieczeństwa?
🚨 masz dostęp do danych, których nie powinieneś
🚨 zbyt szerokie uprawnienia (Everyone: Full Control)
🚨 brak kontroli dziedziczenia
🚨 root/admin używany na co dzień
🛠️ Best practices
✔ minimalne uprawnienia (least privilege)
✔ kontrola grup
✔ audit ACL
✔ wyłączenie zbędnego dziedziczenia
✔ monitoring dostępu
🧩 Realny przykład
Masz plik:
- brak wpisu dla Ciebie
- folder nadrzędny: Users = Read
👉 efekt:
✔ możesz czytać
📊 Podsumowanie
Dlaczego masz dostęp mimo „braku uprawnień”?
✔ dziedziczenie
✔ grupy użytkowników
✔ token dostępu
✔ cache
✔ uprawnienia administratora
✔ ACL vs GUI
🚨 TL;DR
👉 system mówi „brak uprawnień”, ale:
✔ jesteś w grupie
✔ dziedziczysz dostęp
✔ masz token admina
🔗 Pro tip (SEO / praktyka)
👉 Najlepsze narzędzia:
whoami /groupsGet-Acl- Effective Permissions
getfacl(Linux)






