CHMOD(1) Polecenia użytkownika CHMOD(1)

chmod - zmienia prawa dostępu do pliku

chmod [OPCJA]... TRYB[,TRYB]... PLIK...
chmod [OPCJA]... TRYB-ÓSEMKOWO PLIK...
chmod [OPCJA]... --reference=PLIK-WZORC PLIK...

Niniejsza strona podręcznika opisuje chmod w wersji GNU. chmod zmienia prawa dostępu do każdego podanego pliku według parametru TRYB, który może być symbolicznym przedstawieniem zmian, które mają być wykonane albo ósemkową liczbą reprezentującą wzorzec bitowy nowych praw.

Format trybu symbolicznego to [ ugoa...][[-+=][uprawnienie...]...], gdzie uprawnienie jest albo zerem lub większą liczbą liter z zestawu rwxXst, albo pojedynczą literą z zestawu ugo. Można podać wiele operacji symbolicznych, oddzielonych przecinkami.

Kombinacja liter ugoa kontroluje, czyje prawa mają zostać zmienione: właściciela (user) (u), innych użytkowników z tej samej grupy co plik (group) (g), innych użytkowników spoza grupy pliku (other) (o) lub wszystkich (all) (a). Jeśli nie podano żadnego z tych parametrów, rezultatem jest użycie domyślnego (a), lecz bity, które są ustawione w umask, nie są zmieniane.

Operator + powoduje dodanie wybranych praw do istniejących, - ich odjęcie. Operator = powoduje ustawienie dokładnie takich praw, jakie wybrano; wyjątkiem są prawa set user ID i set grup ID, które nie zostaną zmienione dla katalogu, jeśli ich nie podano.

Litery rwxXst wybierają nowe prawa dla użytkowników: odczytu (read) (r), zapisu (write) (w), wykonania (lub przeszukania - dla katalogu) (eXecute) (x), wykonania/przeszukania tylko jeśli plik jest katalogiem, lub ma już prawa wykonania dla danego użytkownika (X), ustawienia ID użytkownika lub grupy podczas wykonania (suid/sgid) (s), ograniczonego prawa do usunięcia lub tzw. bitu lepkości (sTicky) (t). Zamiast jednej lub większej liczby powyższych liter, można również podać dokładnie jedną z liter ugo: nadanie praw, które posiada właściciel pliku (u), użytkownik z grupy posiadającej plik (g), inny użytkownik (o).

Tryb numeryczny jest podaniem jednej do czterech ósemkowych liczb (0-7), wyprowadzonych przez dodawanie wartości bitowych 4, 2 i 1. Każda ominięta cyfra jest traktowana jak zero. Pierwsza cyfra wybiera SUID (4) i SGID (2) oraz ograniczone prawo usunięcia lub tzw. bit lepkości (1). Druga cyfra wybiera prawa dla właściciela: odczytu (4), zapisu (2), wykonania (1); trzecia cyfra prawa dla grupy posiadającej plik, a czwarta dla innych użytkowników, spoza grupy (analogicznie do cyfry dla właściciela).

Program chmod nigdy nie zmienia praw dowiązań symbolicznych, gdyż funkcja systemowa chmod nie potrafi tego dokonać. Nie jest to problemem, ponieważ prawa dowiązań symbolicznych nigdy nie są używane. Jednakże, dla każdego dowiązania symbolicznego, wymienionego w wierszu poleceń, chmod zmienia prawa wskazywanego przez nie pliku. W przeciwieństwie do powyższego, chmod ignoruje dowiązania symboliczne napotkane podczas rekurencyjnego przechodzenia przez katalogi.

Program chmod usuwa bit set-group-ID zwykłych plików, jeśli identyfikator grupy pliku nie pasuje do efektywnego identyfikatora grupy użytkownika lub jednego z uzupełniających identyfikatorów grup użytkownika, chyba że użytkownik ma odpowiednie uprawnienia. Dodatkowe ograniczenia mogą spowodować, że atrybuty set-user-ID i set-group-ID TRYBU lub PLIKU-WZORC zostaną zignorowane. To zachowanie jest zależne od zasad i funkcji niższego poziomu wywołania systemowego chmod. W przypadku wątpliwości, proszę sprawdzić systemowe zachowanie niższego poziomu.

W przypadku katalogów, chmod zachowuje atrybuty set-user-ID i set-group-ID, chyba że użytkownik jawnie poda co innego. Można ustawić i wyczyścić bity za pomocą trybów symbolicznych takich jak u+s i g-s. Aby wyczyścić te bity dla katalogów za pomocą trybu numerycznego, konieczne jest podanie dodatkowego wiodącego 0 (zera) jak w 00755, wiodącego - (minusa) jak w -6000 lub wiodącego = (znaku równości) jak w =755.

Ograniczone prawo usunięcia lub tzw. bit lepkości jest pojedynczym atrybutem, którego interpretacja zależy od typu pliku. W przypadku katalogów, zapobiega on usuwaniu lub zmianie nazwy pliku w katalogu użytkownikom nieuprzywilejowanym, chyba że są oni właścicielami danego pliku lub katalogu; zwie się to ograniczonym prawem usunięcia (ang. restricted deletion flag) dla katalogów i jest często używane w przypadku katalogów dostępnych do zapisu dla wszystkich, takich jak /tmp. Dla zwykłych plików w niektórych starszych systemach, ten atrybut zachowuje tekstowy obraz programu na urządzeniu wymiany, co powoduje jego szybsze ładowanie podczas uruchamiania; w takim przypadku atrybut nosi nazwę bitu lepkości (ang. sticky bit).

Zmienia tryb każdego z PLIKÓW na TRYB. Z opcją --reference zmienia tryb każdego z PLIKÓW na taki, jaki posiada PLIK-WZORC.

podobnie jak opcja --verbose, ale informuje tylko o dokonanych zmianach
wyłącza wyświetlanie większości komunikatów o błędach
wyświetla informacje diagnostyczne o każdym przetwarzanym pliku
nie traktuje katalogu głównego / w sposób specjalny (domyślnie)
odmawia działania rekurencyjnego na /
używa trybu PLIKU-WZORC, zamiast podanych wartości TRYB. PLIK-WZORC jest zawsze tłumaczony, jeśli jest dowiązaniem symbolicznym.
zmienia pliki i katalogi rekurencyjnie
wyświetla ten tekst i kończy pracę
wyświetla informacje o wersji i kończy działanie

Każdy TRYB ma postać "[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+".

Napisane przez Davida MacKenzie i Jima Meyeringa.

Strona internetowa z pomocą GNU coreutils: https://www.gnu.org/software/coreutils/
O błędach tłumaczenia poinformuj przez https://translationproject.org/team/pl.html

Copyright © 2023 Free Software Foundation, Inc. Licencja GPLv3+: GNU GPL w wersji 3 lub późniejszej https://gnu.org/licenses/gpl.html.
Jest to wolne oprogramowanie: można je zmieniać i rozpowszechniać. Nie ma ŻADNEJ GWARANCJI, w granicach określonych przez prawo.

chmod(2)

Pełna dokumentacja: https://www.gnu.org/software/coreutils/chmod
lub lokalnie, za pomocą info 'coreutils) chmod invocation'

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Wojtek Kotwica <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

styczeń 2024 GNU coreutils 9.4