Kalkulator Chmod
| Klasa | Odczyt | Zapis | Wykonaj |
|---|---|---|---|
| Właściciel | |||
| Grupa | |||
| Inni |
Uprawnienia plików w systemie Unix składają się z trzech trójek, odczyt, zapis, wykonanie dla użytkownika, grupy i pozostałych, które zwięźle zwijają się do trzycyfrowej liczby ósemkowej. chmod 755 script.sh to rwxr-xr-x: właściciel ma wszystko, a grupa i pozostali mają odczyt i wykonanie. Ten kalkulator pozwala przełączać każde pole wyboru i na bieżąco obserwować zmianę wartości ósemkowej, albo wkleić liczbę ósemkową i zobaczyć jej rozkład na rwx, wraz z dokładnym poleceniem chmod gotowym do skopiowania.
Jak działają uprawnienia chmod
-
1
Przełącz 9 bitów uprawnień
Trzy grupy (użytkownik, grupa, pozostali) × trzy uprawnienia (odczyt, zapis, wykonanie) = 9 pól wyboru.
-
2
Każda grupa staje się jedną cyfrą ósemkową
Odczyt = 4, zapis = 2, wykonanie = 1. Zsumuj bity, które chcesz włączyć.
-
3
Odczytaj wynikową postać ósemkową i symboliczną
np. 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.
-
4
Skopiuj polecenie chmod
Narzędzie pokazuje polecenie chmod dla bieżących uprawnień, gotowe do skopiowania. Przykłady: chmod 755 nazwa_pliku, chmod u+x nazwa_pliku, chmod -R 755 katalog.
Wartości bitów uprawnień
| Bit | Wartość | Znaczenie dla plików | Znaczenie dla katalogów |
|---|---|---|---|
| Odczyt | 4 | Można przeglądać zawartość | Można wyświetlać listę wpisów |
| Zapis | 2 | Można modyfikować | Można tworzyć / usuwać / zmieniać nazwy wpisów |
| Wykonanie | 1 | Można uruchomić jako program | Można wejść (cd do środka, dostęp do zawartości) |
Najczęstsze wartości chmod
| Ósemkowo | Symbolicznie | Typowe zastosowanie |
|---|---|---|
| 777 | rwxrwxrwx | Zapisywalne przez wszystkich, niebezpieczne; rzadko poprawne |
| 755 | rwxr-xr-x | Skrypty, pliki binarne, katalogi |
| 750 | rwxr-x--- | Skrypty prywatne dla Ciebie i Twojej grupy |
| 700 | rwx------ | Skrypty prywatne tylko dla Ciebie (SSH, ~/.ssh) |
| 644 | rw-r--r-- | Publiczne dokumenty, obrazy, HTML |
| 640 | rw-r----- | Konfiguracje odczytywalne przez grupę |
| 600 | rw------- | Prywatne konfiguracje, klucze prywatne SSH, ~/.netrc |
| 444 | r--r--r-- | Pliki publikowane tylko do odczytu |
| 400 | r-------- | Prywatne, tylko do odczytu (rzadko poprawne; użyj 600) |
Uprawnienia specjalne (rzadkie, ale ważne)
- setuid (4xxx): uruchamia plik jako jego właściciel, niezależnie od tego, kto go wykonuje.
/usr/bin/passwdkorzysta z tego mechanizmu. - setgid (2xxx): w przypadku plików uruchamia się jako grupa. W katalogach nowe pliki dziedziczą grupę katalogu.
- sticky bit (1xxx): w katalogach tylko właściciel pliku może go usunąć lub zmienić mu nazwę.
/tmpkorzysta z tego mechanizmu.
Czterocyfrowe liczby ósemkowe obejmują te bity: chmod 4755 setuid-binary włącza setuid obok 755.
Symboliczny chmod
Wielu administratorów woli postać symboliczną przy zmianach przyrostowych:
chmod u+x script, dodaje uprawnienie wykonania tylko dla właściciela.chmod go-w file, usuwa uprawnienie zapisu dla grupy i pozostałych.chmod a+r file, nadaje uprawnienie odczytu wszystkim (użytkownik, grupa, pozostali).chmod u=rw,go=r file, ustawia dokładnie te bity.chmod -R 755 directory, rekurencyjnie.
Najczęstsze błędy
- 777 na folderach z przesyłanymi plikami: wygląda, jakby „naprawiało uprawnienia”, ale w rzeczywistości otwiera serwer na atakujących. Użyj węższej kombinacji (np. 755 z poprawną własnością grupy).
- chmod -R 644 na katalogach: usuwa uprawnienie wykonania z katalogów, więc nie da się do nich wejść poleceniem
cd. Użyj 755 dla katalogów i 644 dla zwykłych plików. - 0600 vs 600: wiodące zero oznacza liczbę ósemkową w języku C i w powłoce; większość implementacji chmod akceptuje oba zapisy.
- Umask: nowe pliki dziedziczą 666 minus umask. Domyślny umask 022 daje pliki 644 i katalogi 755.
Najczęściej zadawane pytania
Zazwyczaj chcesz, aby właściciel mógł modyfikować, a wszyscy pozostali mogli wyświetlać listę i przechodzić do środka. 755 = rwx dla właściciela, r-x dla grupy i pozostałych, dokładnie taka kombinacja.
Prawie nigdy. 777 pozwala każdemu w systemie modyfikować plik. W systemach wielu użytkowników jest to luka bezpieczeństwa; w systemach jednego użytkownika jest zbędne (właściciel ma już rwx przy 755). Jeśli aplikacja internetowa wydaje się wymagać 777, prawdziwym rozwiązaniem jest poprawne ustawienie własności (chown) lub przynależność do grupy.
Katalog ~/.ssh: 700. Klucze prywatne (id_rsa, id_ed25519): 600. Klucze publiczne (.pub): 644. authorized_keys: 600. SSH ze względów bezpieczeństwa odrzuca klucze z szerszymi uprawnieniami.
chown dla właściciela, chgrp dla grupy, to osobne polecenia. chmod zmienia tylko bity, a nie użytkownika ani grupę będącą właścicielem pliku.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Konwerter binarnego na ósemkowy
Konwertuj binarny na ósemkowy, grupując bity po trzy. Przydatne przy uprawnieniach Unix, starszych systemach i kompaktowym zapisie liczb.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.