DevToolPal
PL

Kalkulator chmod

Przelicza uprawnienia plików Unix między polami wyboru, zapisem ósemkowym (755) i symbolicznym (rwxr-xr-x), obsługuje setuid, setgid i sticky bit oraz generuje gotowe polecenie chmod.

Działa lokalnie, nic nie jest wysyłane

Opcje

Uprawnienia

OdczytZapisWykonanieSpecjalne
Właściciel
Grupa
Pozostali

Rezultat

Tutaj pojawi się wynik

Co robi

Kalkulator chmod przelicza uprawnienia plików Unix i Linux między trzema popularnymi zapisami: siatką pól odczytu, zapisu i wykonania, liczbą ósemkową, np. 755, oraz ciągiem symbolicznym, np. rwxr-xr-x. Generuje też odpowiednie polecenie chmod w formie ósemkowej i symbolicznej, wyjaśnia, kto co może, i obsługuje bity specjalne setuid, setgid i sticky. Wszystko działa w przeglądarce.

Jak używać

  1. Zaznacz pola dla właściciela, grupy i pozostałych albo wpisz tryb w pole tekstowe. Akceptuje ono zapis ósemkowy (644, 0644, 4755), ciągi w stylu ls -l (rw-r--r-- lub -rw-r--r-- z typem pliku na początku) oraz wyrażenia chmod, np. u=rwx,g=rx,o= czy a+x.
  2. Pola wyboru i wyniki podążają za tym, co wpisujesz, a kliknięcie pola przepisuje tryb w tym samym zapisie.
  3. Ustaw nazwę pliku w Opcjach i włącz Rekurencyjnie (-R), jeśli tryb ma objąć całe drzewo katalogów. Skopiuj gotowe polecenie jednym kliknięciem.

Typowe tryby

chmod 755 deploy.sh        # rwxr-xr-x
chmod 644 index.html       # rw-r--r--
chmod 600 ~/.ssh/id_ed25519  # rw-------
chmod 1777 /tmp            # rwxrwxrwt
  • 755 dla katalogów, skryptów i programów: właściciel może je zmieniać, wszyscy mogą je czytać i uruchamiać.
  • 644 dla zwykłych plików, takich jak strony WWW i obrazy.
  • 600 dla prywatnych plików, takich jak klucze SSH i pliki .env: czytać je może tylko właściciel. SSH odrzuca klucze dostępne dla innych.
  • 700 dla prywatnych katalogów oraz 775/664, gdy projekt współdzieli grupa użytkowników.

Jak działają liczby

Każda klasa użytkowników dostaje jedną cyfrę ósemkową będącą sumą: odczyt = 4, zapis = 2, wykonanie = 1. W przypadku katalogu odczyt oznacza wyświetlenie listy nazw, zapis — tworzenie i usuwanie plików w środku, a wykonanie — wejście do katalogu lub dostęp do plików w nim.

Opcjonalna cyfra na początku przechowuje bity specjalne: setuid = 4, setgid = 2, sticky = 1. W zapisie symbolicznym zastępują literę wykonania: s dla setuid i setgid oraz t dla sticky. Wielka litera S lub T oznacza, że bit specjalny jest ustawiony, a prawo wykonania nie — prawie zawsze to błąd.

Kalkulator pokazuje również odpowiadającą umask, czyli bity, które domyślna umask odejmuje od 777, by uzyskać tryb. Przy umask 022 katalogi dostają 755, a pliki 644.

FAQ

› Co oznacza chmod 755?

Każda cyfra to jedna klasa użytkowników: właściciel, grupa i pozostali. 7 = odczyt (4) + zapis (2) + wykonanie (1); 5 = odczyt + wykonanie. 755 pozwala więc właścicielowi na wszystko, a pozostałym na odczyt i uruchamianie pliku, co zapisuje się jako rwxr-xr-x. To typowy tryb dla skryptów i katalogów.

› Czym różni się 644 od 755?

644 (rw-r--r--) nie ma bitu wykonania, więc nadaje się do zwykłych plików, takich jak HTML, obrazy i konfiguracja. 755 dodaje wykonanie dla wszystkich — programy potrzebują go do uruchomienia, a katalogi, by można było do nich wejść.

› Dlaczego chmod 777 to zły pomysł?

777 pozwala każdemu użytkownikowi systemu zmienić lub podmienić plik. Na serwerze WWW oznacza to, że dowolny przejęty proces może nadpisać Twój kod. Zamiast tego popraw właściciela poleceniem chown i używaj 755 dla katalogów oraz 644 dla plików.

› Czym są setuid, setgid i sticky bit?

Tworzą czwartą, początkową cyfrę ósemkową. setuid (4) uruchamia program jako jego właściciela, setgid (2) jako jego grupę albo sprawia, że nowe pliki w katalogu dziedziczą grupę, a sticky bit (1) uniemożliwia usuwanie cudzych plików we wspólnym katalogu, takim jak /tmp. W wyniku ls widać je jako s i t w miejscu prawa wykonania.