Jak używać
- Zaznacz pola odczytu, zapisu i wykonywania dla właściciela, grupy i pozostałych użytkowników.
- Albo wpisz wartość ósemkową, np. 640, lub ciąg symboliczny, np. rw-r----- lub -rw-r----- skopiowany z ls -l.
- W razie potrzeby dodaj setuid, setgid lub sticky bit albo wybierz typową wartość.
- Wpisz nazwę pliku i skopiuj polecenie chmod.
Jak to działa
Każda z trzech klas (właściciel, grupa, pozostali) ma trzy uprawnienia. Odczyt ma wartość 4, zapis 2, a wykonanie 1; ich suma to jedna cyfra ósemkowa, więc rwx = 7, r-x = 5, a r-- = 4. Trzy cyfry tworzą tryb: 755 oznacza rwx dla właściciela oraz r-x dla grupy i pozostałych.
Opcjonalna czwarta cyfra na początku zawiera bity specjalne: 4 dla setuid, 2 dla setgid i 1 dla sticky. W formie symbolicznej zastępują one pozycję wykonania: s dla setuid lub setgid, t dla sticky. Wielka litera S lub T oznacza, że bit specjalny jest ustawiony, ale wykonanie nie jest — co zwykle jest błędem.
Pole symboliczne akceptuje dziewięć znaków (rwxr-xr-x) lub dziesięcioznakową formę wypisywaną przez ls -l, w której pierwszy znak to typ pliku (- dla pliku, d dla katalogu) i jest tutaj ignorowany. Akceptowana jest również końcowa kropka . lub plus + z SELinux lub ACL.
Wyświetlane są dwa polecenia: forma ósemkowa, która ustawia wszystkie bity naraz, oraz równoważna forma symboliczna, np. u=rwx,g=rx,o=rx. Nazwy plików ze spacjami lub innymi znakami specjalnymi są cytowane dla powłoki; początkowe ~/ oraz symbole wieloznaczne * i ? pozostają niecytowane, aby powłoka mogła je rozwinąć. W GNU chmod tryb ósemkowy dla katalogu nie czyści już ustawionych bitów setuid ani setgid; użyj formy symbolicznej lub trybu pięciocyfrowego, np. 00755, jeśli chcesz je usunąć.
Przykłady
Pliki i katalogi WWW
Pliki, które serwer WWW tylko odczytuje, mają zwykle tryb 644 (rw-r--r--), a katalogi 755 (rwxr-xr-x), aby można było do nich wchodzić i wyświetlać ich zawartość.
Prywatny klucz SSH
SSH odrzuca klucze, które mogą odczytać inni. Zaznacz dla właściciela tylko odczyt i zapis, aby uzyskać 600 i polecenie chmod 600 ~/.ssh/id_ed25519 (jako nazwę pliku wpisz ścieżkę).
Współdzielony katalog do wgrywania plików
Katalogi takie jak /tmp używają trybu 1777 (rwxrwxrwt): każdy może tworzyć pliki, ale sticky bit uniemożliwia użytkownikom usuwanie cudzych plików.
Często zadawane pytania
Jaka jest różnica między 755 a 775?
Przy 775 grupa może również zapisywać pliki (tworzyć, zmieniać i usuwać pliki w katalogu). Przy 755 tylko właściciel może zapisywać; grupa i pozostali mogą odczytywać i wykonywać.
Dlaczego unikać 777?
Uprawnienia 777 pozwalają każdemu użytkownikowi systemu zmieniać lub zastępować plik. Na serwerze WWW może to umożliwić innemu kontu lub przejętemu procesowi wstrzyknięcie kodu. Przyznaj prawo zapisu tylko właścicielowi lub określonej grupie.
Co oznacza prawo wykonywania dla katalogu?
W przypadku katalogu prawo wykonywania (x) oznacza możliwość wejścia do katalogu i dostępu do plików wewnątrz. Sam odczyt pozwala wyświetlić nazwy, ale nie otworzyć plików.
Czy to narzędzie zmienia uprawnienia na moim komputerze?
Nie. Narzędzie tylko oblicza wartości i tworzy treść polecenia. Polecenie uruchamiasz samodzielnie w terminalu.
Prywatność
Wszystko jest obliczane w Twojej przeglądarce. Wpisywana nazwa pliku nie jest nigdzie wysyłana, zapisywana ani uwzględniana w analityce.