Objaśniacz uprawnień Linux
Wizualne objaśnienie uprawnień do plików w systemie Linux w notacji numerycznej (ósemkowej) i symbolicznej z interaktywnymi polami wyboru i generowaniem polecenia chmod
Wejście
Wyjście
Instrukcja
Czym są uprawnienia plików w systemie Linux?
Uprawnienia plików w systemie Linux kontrolują, kto może odczytywać, zapisywać lub wykonywać plik bądź katalog. Każdy plik w systemie Linux ma trzy grupy uprawnień: właściciel (użytkownik, który go utworzył), grupa (użytkownicy należący do wspólnej grupy) oraz pozostali (wszyscy inni). Każdej grupie można przyznać trzy rodzaje dostępu: odczyt (r), zapis (w) i wykonanie (x).
Uprawnienia można wyrażać w dwóch notacjach. Notacja symboliczna używa liter, np. rwxr-xr-x, gdzie każdy znak reprezentuje określone uprawnienie dla konkretnej grupy. Notacja ósemkowa (numeryczna) używa trzycyfrowej lub czterocyfrowej liczby, np. 755, gdzie każda cyfra jest sumą wartości uprawnień: odczyt = 4, zapis = 2, wykonanie = 1.
Opcjonalna wiodąca cyfra w notacji ósemkowej reprezentuje bity specjalne: setuid (4), setgid (2) i sticky bit (1). Setuid pozwala programowi działać z uprawnieniami właściciela pliku, setgid sprawia, że nowe pliki dziedziczą grupę katalogu nadrzędnego, a sticky bit uniemożliwia użytkownikom usuwanie plików, których nie są właścicielami, w katalogach współdzielonych.
Opis narzędzia
To narzędzie umożliwia interaktywne tworzenie i dekodowanie uprawnień plików w systemie Linux. Zaznaczaj pola wyboru dla właściciela, grupy i pozostałych, aby ustawiać flagi odczytu, zapisu i wykonania, i natychmiast widzieć wynik zarówno w notacji ósemkowej, jak i symbolicznej. Możesz również wpisać wartość ósemkową, np. 755, lub ciąg symboliczny, np. rwxr-xr-x, bezpośrednio — pola wyboru i wizualne wyjście aktualizują się automatycznie. Kolorowe wizualne wyświetlanie ułatwia szybkie zrozumienie, które uprawnienia są aktywne, a gotowe polecenie chmod jest generowane automatycznie.
Przykłady
| Ósemkowo | Symbolicznie | Znaczenie |
|---|---|---|
| 755 | -rwxr-xr-x | Właściciel: pełny dostęp. Grupa i pozostali: odczyt i wykonanie. |
| 644 | -rw-r--r-- | Właściciel: odczyt i zapis. Grupa i pozostali: tylko odczyt. |
| 700 | -rwx------ | Właściciel: pełny dostęp. Brak dostępu dla grupy i pozostałych. |
| 777 | -rwxrwxrwx | Pełny dostęp dla wszystkich. |
| 1755 | -rwxr-xr-t | Jak 755 z ustawionym sticky bit. |
| 4755 | -rwsr-xr-x | Jak 755 z ustawionym bitem setuid. |
Funkcje
- Przełączanie indywidualnych uprawnień odczytu, zapisu i wykonania dla każdej grupy za pomocą pól wyboru
- Wpisywanie notacji ósemkowej (np.
755) lub symbolicznej (np.rwxr-xr-x) bezpośrednio z natychmiastową konwersją - Kolorowe bloki wizualne do szybkiego rozpoznawania aktywnych uprawnień
- Obsługa bitów specjalnych: setuid, setgid i sticky bit
- Automatycznie generowane polecenie
chmodgotowe do skopiowania i użycia w terminalu
Przypadki użycia
- Konfiguracja serwera WWW: Szybkie określenie właściwego zestawu uprawnień dla plików serwowanych przez Apache lub Nginx, np.
644dla plików statycznych i755dla skryptów wykonywalnych. - Debugowanie błędów odmowy dostępu: Wklej ciąg uprawnień z wyjścia
ls -l, aby wizualnie zrozumieć, której grupie brakuje dostępu. - Nauka uprawnień w systemie Linux: Interaktywne odkrywanie, jak przełączanie poszczególnych flag zmienia reprezentacje ósemkową i symboliczną.
Jak to działa
Każdy typ uprawnienia ma wagę numeryczną: odczyt = 4, zapis = 2, wykonanie = 1. Cyfra ósemkowa dla grupy jest sumą wag włączonych uprawnień. Na przykład odczyt + wykonanie = 4 + 1 = 5. Pełna notacja ósemkowa łączy cyfry dla właściciela, grupy i pozostałych — zatem rwxr-xr-x daje 755.
Bity specjalne dodają opcjonalną wiodącą cyfrę obliczaną w ten sam sposób: setuid = 4, setgid = 2, sticky = 1. Wartość 1755 oznacza sticky bit (1) plus właściciel=7, grupa=5, pozostali=5.
Objaśnienie opcji
- Pola wyboru Właściciel / Grupa / Pozostali: Przełączanie odczytu (r), zapisu (w) i wykonania (x) dla każdej grupy uprawnień niezależnie.
- Setuid: Po ustawieniu na pliku wykonywalnym, uruchamia go z uprawnieniami właściciela pliku zamiast uprawnień wywołującego użytkownika.
- Setgid: Na katalogu nowe pliki dziedziczą grupę katalogu. Na pliku wykonywalnym uruchamia go z uprawnieniami grupy pliku.
- Sticky bit: Na katalogu tylko właściciel pliku może usuwać lub zmieniać nazwy plików wewnątrz niego, nawet jeśli inni mają uprawnienie zapisu.
- Wejście ósemkowe: Wpisz 3-cyfrową lub 4-cyfrową liczbę ósemkową, aby ustawić wszystkie uprawnienia jednocześnie.
- Wejście symboliczne: Wpisz 9- lub 10-znakowy ciąg symboliczny (z opcjonalnym prefiksem typu pliku), aby ustawić uprawnienia.
FAQ
Co oznacza chmod 777? Nadaje uprawnienia odczytu, zapisu i wykonania właścicielowi, grupie i wszystkim pozostałym użytkownikom. Jest to generalnie niebezpieczne dla systemów produkcyjnych.
Jaka jest różnica między małą literą s a wielką literą S?
Mała litera s oznacza, że bit wykonania oraz bit specjalny (setuid lub setgid) są oba ustawione. Wielka litera S oznacza, że ustawiony jest tylko bit specjalny, bez uprawnienia wykonania.
Do czego służy sticky bit?
Sticky bit jest powszechnie ustawiany na katalogach współdzielonych, takich jak /tmp, aby uniemożliwić użytkownikom usuwanie lub zmianę nazw plików należących do innych, nawet jeśli wszyscy mają uprawnienie zapisu do katalogu.