Kalkulator chmod
Oblicz i konwertuj uprawnienia plików Unix/Linux: chmod numeryczny (755, 644) i symboliczny (rwxr-xr-x). Wizualny wybór uprawnień. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Chmod Permissions Result ------------------------ Mode (octal): 755 Symbolic: rwxr-xr-x Command: chmod 755 my-script.sh Breakdown - Special: 0 (setuid=4, setgid=2, sticky=1) - Owner: rwx (7) - Group: r-x (5) - Others: r-x (5) Notes - For directories, execute (x) controls traversal (entering the folder). - Avoid 777 unless you fully understand the security impact. - If you get “Operation not permitted”, you may need sudo or correct ownership.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKalkulator chmod – uprawnienia plików Unix/Linux bez zgadywania
chmod (change mode) to komenda Unix do ustawiania uprawnień pliku lub katalogu. Uprawnienia składają się z trzech klas (właściciel, grupa, inni) i trzech typów (odczyt, zapis, wykonanie). Kalkulator przelicza między notacją ósemkową (755) a symboliczną (rwxr-xr-x).
System uprawnień Unix
Każdy plik ma 3 klasy × 3 typy = 9 bitów uprawnień + 3 bity specjalne (setuid, setgid, sticky). Klasy: u (user/owner), g (group), o (others), a (all). Typy: r (read=4), w (write=2), x (execute=1). Notacja ósemkowa: każda klasa = suma r+w+x. 7=rwx, 5=r-x, 4=r--.
Popularne kombinacje chmod
644 (rw-r--r--): pliki statyczne (HTML, CSS, obrazy). Właściciel może czytać i pisać, reszta tylko czyta. 755 (rwxr-xr-x): katalogi i skrypty wykonywalne. Właściciel pełne prawa, reszta czyta i wykonuje. 600 (rw-------): pliki wrażliwe (SSH private key, .env). Tylko właściciel ma dostęp. 777 (rwxrwxrwx): wszyscy mają pełne prawa – NIEBEZPIECZNE.
Bity specjalne
Setuid (4000): plik wykonywalny działa z prawami właściciela (np. /usr/bin/passwd). Setgid (2000): na pliku – uruchamia jako grupa; na katalogu – nowe pliki dziedziczą grupę. Sticky bit (1000): na katalogu (np. /tmp) – użytkownicy mogą tylko usuwać własne pliki. Notacja: chmod 1755 dir = sticky + rwxr-xr-x.
Notacja symboliczna
chmod [ugoa][+-=][rwxXst] plik. Przykłady: chmod u+x file (dodaj execute dla właściciela). chmod go-w file (usuń write dla grupy i innych). chmod a=r file (ustaw wszystkim tylko read). chmod +x script.sh (dodaj execute wszystkim). chmod u=rwx,go=rx dir = chmod 755 dir.
Jak kalkulator przelicza uprawnienia
Mechanizm opiera się na trzech wagach: odczyt to 4, zapis to 2, wykonanie to 1. Uprawnienia jednej klasy to suma wag przyznanych jej typów, dlatego każda klasa przyjmuje wartość od 0 do 7. Kalkulator rozbija zapis ósemkowy na osobne cyfry i każdą z nich tłumaczy na trójkę znaków w kolejności: odczyt, zapis, wykonanie.
W drugą stronę działa to identycznie, tylko w odwrotnej kolejności. Dla każdej z trzech klas narzędzie sprawdza, które znaki są obecne, i dodaje odpowiadające im wagi: r daje 4, w daje 2, x daje 1, a myślnik oznacza brak uprawnienia, czyli 0. Wyniki trzech sum zapisane obok siebie tworzą liczbę ósemkową, np. rwx to 7, r-x to 5, a r-- to 4.
Bity specjalne narzędzie traktuje jako dodatkowy, najbardziej znaczący składnik zapisu. Dlatego wynik może mieć cztery cyfry zamiast trzech, a w notacji symbolicznej w miejscu prawa wykonania pojawia się litera s lub t. Wartości tych bitów są stałe i dodaje się je do zwykłej liczby, niezależnie od ustawień trzech klas.
Przykład krok po kroku: od opisu do liczby 750
- Zaczynamy od wymagania w języku naturalnym: właściciel skryptu ma mieć pełny dostęp, grupa ma go czytać i uruchamiać, a pozostali użytkownicy nie mają mieć żadnego dostępu.
- Zapisujemy to jako trzy trójki znaków w kolejności właściciel, grupa, inni: rwx | r-x | ---.
- Liczymy klasę właściciela: r to 4, w to 2, x to 1, razem 4 + 2 + 1 = 7.
- Liczymy klasę grupy: r to 4, brak zapisu, x to 1, razem 4 + 1 = 5.
- Liczymy klasę pozostałych: trzy myślniki, czyli 0 + 0 + 0 = 0.
- Składamy cyfry w kolejności klas: 7, 5, 0, więc wynik to 750. W kalkulatorze wpisujemy 750 i sprawdzamy, że odpowiada mu zapis rwxr-x---; komenda do wykonania to chmod 750 skrypt.sh.
Tabela odniesienia: wybrane wartości ósemkowe
| Ósemkowo | Symbolicznie | Kto co może |
|---|---|---|
| 400 | r-------- | tylko właściciel czyta plik, pozostali nie mają nic |
| 440 | r--r----- | właściciel i grupa czytają, inni bez dostępu |
| 444 | r--r--r-- | wszyscy czytają, nikt nie może zapisywać |
| 640 | rw-r----- | właściciel czyta i pisze, grupa tylko czyta |
| 664 | rw-rw-r-- | właściciel i grupa czytają oraz piszą, inni czytają |
| 700 | rwx------ | pełny dostęp wyłącznie dla właściciela |
| 750 | rwxr-x--- | właściciel pełny dostęp, grupa czyta i wykonuje |
| 775 | rwxrwxr-x | właściciel i grupa pełny dostęp, inni czytają i wykonują |
Jak używać kalkulatora w praktyce
- Zacznij od opisu, nie od liczby — najpierw zapisz słowami, kto ma czytać, pisać i wykonywać, a dopiero potem zamień to na cyfry. Kopiowanie wartości z pamięci jest częstym źródłem błędów.
- Pamiętaj, że x przy katalogu znaczy coś innego — dla katalogu odczyt pozwala wylistować nazwy, a wykonanie pozwala do niego wejść i odwoływać się do plików w środku. Bez prawa wykonania sam odczyt bywa bezużyteczny.
- Ustawiaj minimum i rozszerzaj w razie potrzeby — jeśli nie wiesz, czy dana klasa potrzebuje zapisu, zacznij od wartości bez niego i dodaj prawo dopiero wtedy, gdy coś przestanie działać.
- Porównaj obie notacje przed zastosowaniem — wpisz wynik w kalkulator i sprawdź, czy zapis symboliczny zgadza się z intencją. Po zmianie zweryfikuj efekt poleceniem ls -l.
- Zapisz docelowe uprawnienia w dokumentacji projektu — trzymaj w repozytorium listę wartości dla plików i katalogów, żeby przy kolejnym wdrożeniu nie odtwarzać ich z pamięci.
Czego kalkulator nie uwzględnia
- Listy kontroli dostępu (ACL) — kalkulator pracuje na dziewięciu bitach, a uprawnienia rozszerzone przyznają prawa pojedynczym użytkownikom i grupom poza tym schematem, więc nie mieszczą się w notacji ósemkowej.
- Atrybuty systemu plików — flagi takie jak niezmienność czy prawo tylko do dopisywania działają niezależnie od bitów odczytu, zapisu i wykonania i nie pojawiają się w wyniku przeliczenia.
- Maska uprawnień i dziedziczenie — nowy plik otrzymuje uprawnienia pomniejszone o maskę procesu, a katalogi mogą przekazywać grupę i prawa tworzonym w nich obiektom. Kalkulator pokazuje wartość docelową, nie tę, którą faktycznie dostanie plik.
- Polityki bezpieczeństwa i opcje montowania — mechanizmy wymuszania dostępu oraz montowanie z opcjami takimi jak tylko do odczytu albo bez wykonywania mogą odebrać prawo, które w samych bitach jest ustawione.
Najczęstsze pytania
Jakie uprawnienia ustawić dla katalogu webroot?
Bezpieczne ustawienia dla serwera web (Apache/nginx, user=www-data): katalogi = 755, pliki PHP/HTML/CSS/JS = 644, pliki .env i config z hasłami = 600. Właściciel: twoje konto (admin). Nigdy 777 – ryzyko wykonania złośliwego kodu przez www-data.
Dlaczego chmod 777 jest niebezpieczny?
777 = wszyscy użytkownicy systemu mogą czytać, pisać i wykonywać. Na serwerze shared hosting: każde inne konto może nadpisać twoje pliki. Możliwość wgrania web shell. Apache/nginx uruchamiany jako www-data – przy 777 też może pisać, co jest wektorem ataku. Używaj 755 dla katalogów i 644 dla plików.
Jak sprawdzić uprawnienia pliku?
ls -la: lista z uprawnieniami (drwxr-xr-x). stat file.txt: szczegółowy opis. find . -perm 777: znajdź pliki z 777. find . -perm /u+s: znajdź setuid. stat -c "%a %n" *: uprawnienia ósemkowe dla wszystkich plików. Narzędzie online: wklej uprawnienia symboliczne i konwertuje na ósemkowe.
Co znaczy "d" na początku uprawnień?
ls -la: drwxr-xr-x – "d" = katalog (directory). - = plik zwykły. l = link symboliczny. c = urządzenie znakowe (char device). b = urządzenie blokowe (block device). p = named pipe (FIFO). s = socket. chmod nie zmienia tego pierwszego znaku.
Jak ustawić uprawnienia rekurencyjnie?
chmod -R 755 katalog: zmień wszystkie pliki i katalogi rekurencyjnie. Problem: pliki powinny mieć 644, nie 755. Eleganckie rozwiązanie: find katalog -type d -exec chmod 755 {} \; && find katalog -type f -exec chmod 644 {} \;. Setuid/setgid: -R może być niebezpieczne – sprawdź co modyfikujesz.
Jak zamienić 755 na zapis symboliczny?
Pierwsza cyfra 7 to rwx, druga 5 to r-x, trzecia również 5 to r-x, więc całość zapisuje się jako rwxr-xr-x. Tę samą zmianę w notacji symbolicznej daje zapis u=rwx,go=rx.
Czym różni się chmod 644 od 664?
Wartość 644 daje właścicielowi odczyt i zapis, a pozostałym klasom tylko odczyt, czyli rw-r--r--. Wartość 664 dopuszcza zapis także dla grupy, czyli rw-rw-r--, co ma znaczenie przy pracy zespołowej nad tym samym plikiem.
Co oznacza x przy katalogu?
Prawo wykonania dla katalogu pozwala do niego wejść i odwoływać się do plików po nazwie. Bez tego prawa sam odczyt pozwala co najwyżej zobaczyć listę nazw, ale nie daje dostępu do zawartości.
Czy uprawnienia 775 są bezpieczne?
Dla katalogu projektu, do którego dostęp ma zaufana grupa, zwykle tak. Na serwerze publicznym grupa często oznacza konto usługi, dlatego warto najpierw sprawdzić, kto do niej należy, zamiast zakładać, że ustawienie jest bezpieczne.
Dlaczego po zmianie uprawnień plik nadal się nie uruchamia?
Najczęstszą przyczyną jest brak prawa wykonania dla klasy, z której korzystasz, albo miejsce, w którym leży plik. Sprawdź wynik poleceniem ls -l oraz to, czy system plików nie jest zamontowany z opcją blokującą wykonywanie.
Powiązane narzedzia: walidator JSON, generator testowych danych i narzedzia developerskie.