Konwerter notacji symbolicznej chmod na ósemkową
Konwertuj tryby chmod między notacją ósemkową i symboliczną: 755 na u=rwx,g=rx,o=rx i odwrotnie. Narzędzie stosuje również zmiany takie jak u+x lub go-w do bieżącego trybu, obsługuje setuid, setgid i bit lepki oraz odczytuje ciągi ls -l. Działa w przeglądarce.
Wejście
Tryb przed zmianą, używany przez tryby symboliczne, takie jak u+x. Operatory + i - odpowiednio dodają uprawnienia i je usuwają.Ogranicza zmiany symboliczne bez u, g, o lub a, takie jak +w.
Wyjście
Instrukcja
Czym są ósemkowe i symboliczne tryby `chmod`?
chmod ustawia uprawnienia pliku w systemach Linux, macOS i innych systemach Unix, a uprawnienia można podawać w dwóch notacjach. Tryb ósemkowy, taki jak 755, zawiera po jednej cyfrze dla właściciela, grupy i pozostałych użytkowników, gdzie odczyt ma wartość 4, zapis 2, a wykonywanie 1. Tryb symboliczny, taki jak u=rwx,g=rx,o=rx, zamiast tego określa klasy (u — właściciel, g — grupa, o — pozostali, a — wszyscy) oraz uprawnienia (r, w, x).
Tryby symboliczne mogą także zmieniać uprawnienia zamiast ustawiać je wszystkie: u+x dodaje uprawnienie do wykonywania dla właściciela, go-w usuwa uprawnienie do zapisu dla grupy i pozostałych, a g=u kopiuje uprawnienia właściciela do grupy. Tryb ósemkowy zawsze ustawia wszystkie uprawnienia, dlatego ósemkowy wynik zmiany zależy od trybu, jaki plik miał wcześniej.
Opis narzędzia
To narzędzie konwertuje tryby chmod między notacją ósemkową i symboliczną. Wybierz notację źródłową i docelową albo pozostaw źródło w trybie automatycznego wykrywania: wpisz 755, aby uzyskać u=rwx,g=rx,o=rx, lub wpisz tryb symboliczny, aby uzyskać wartość ósemkową. W przypadku zmian takich jak u+x lub a+X wpisz bieżący tryb pliku, aby zobaczyć tryb, jaki pozostawiłby chmod. Możesz także wkleić ciąg uprawnień z ls -l, taki jak -rwxr-xr-x, albo całe polecenie chmod.
Przykłady
| Ósemkowy | Symboliczny | ls -l | Typowe zastosowanie |
|---|---|---|---|
| 644 | u=rw,go=r |
-rw-r--r-- |
Zwykłe pliki |
| 755 | u=rwx,go=rx |
-rwxr-xr-x |
Skrypty, programy i katalogi |
| 600 | u=rw,go= |
-rw------- |
Prywatne pliki, takie jak klucze SSH |
| 2775 | u=rwx,g=rwxs,o=rx |
drwxrwsr-x |
Współdzielone katalogi zachowujące grupę |
| 1777 | a=rwx,+t |
drwxrwxrwt |
/tmp i inne współdzielone katalogi robocze |
| 4755 | u=rwxs,go=rx |
-rwsr-xr-x |
Programy takie jak passwd |
Funkcje
- Konwertuje tryb ósemkowy na symboliczny i symboliczny na ósemkowy, z przyciskiem zamiany kierunku
- Wykrywa notację wprowadzonego trybu lub konwertuje go z wybranej notacji
- Stosuje zmiany względne, takie jak
u+x,go-w,a=r,u+w,g=uia+X, do bieżącego trybu - Obsługuje setuid, setgid i sticky bit (
s,toraz 4-cyfrowe tryby ósemkowe) - Zapisuje tryb symboliczny w pełnej postaci (
u=rwx,g=rx,o=rx) lub skróconej (u=rwx,go=rx) - Odczytuje i zapisuje ciągi uprawnień
ls -l, w tyms,S,tiT - Akceptuje wklejone polecenia, takie jak
sudo chmod -R 755 dir - Wskazuje dokładny znak, gdy tryb jest nieprawidłowy
Jak to działa
Tryb ósemkowy jest odczytywany jako maksymalnie cztery cyfry: opcjonalna pierwsza cyfra określa setuid (4), setgid (2) i sticky bit (1), a pozostałe trzy określają uprawnienia właściciela, grupy i pozostałych. Tryb symboliczny jest odczytywany klauzula po klauzuli zgodnie z gramatyką POSIX i stosowany do bieżącego trybu w taki sam sposób, jak robi to GNU chmod w systemie Linux:
+dodaje uprawnienia,-usuwa je, a=ustawia je i czyści pozostałe uprawnienia dla określonych klas.Xdodaje uprawnienie do wykonywania tylko katalogom oraz plikom, które już mają uprawnienie do wykonywania dla co najmniej jednego użytkownika.sustawia setuid dlaui setgid dlag.tustawia sticky bit dlao,alub bez określonej klasy.- Jeśli klasa nie jest podana, jak w
+x, zmiana dotyczy wszystkich z wyjątkiem bitów zablokowanych przez umask. - W katalogach setuid i setgid pozostają bez zmian, chyba że tryb jawnie je określa, jak w
g-s.
Symboliczne dane wyjściowe jawnie ustawiają każdy bit, dlatego w przypadku pliku dają ten sam wynik niezależnie od wcześniejszego trybu pliku. Sticky bit jest zapisywany jako osobna klauzula +t, ponieważ zarówno GNU chmod, jak i BSD chmod akceptują go w tej postaci.
Wskazówki
- Użyj
a+Xwraz zchmod -R, aby umożliwić przeszukiwanie katalogów bez nadawania wszystkim plikom uprawnienia do wykonywania. chmod 755na katalogu nie usuwa setgid w GNUchmod. Użyjchmod 00755lubg-s, aby go usunąć.- Ansible i wiele plików konfiguracyjnych wymaga początkowego zera, jak w
0755. Włącz opcję „Zawsze pokazuj 4 cyfry ósemkowe”, aby je uzyskać. - Znak
.lub+po ciąguls -loznacza kontekst SELinux lub ACL. Użyjgetfacl, aby zobaczyć wpisy ACL, których tryb nie pokazuje.