CHMOD(1)

NAZWA
chmod - zmienia prawa dostępu do pliku

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

OPIS
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 nie zmienia praw dowiązań symbolicznych, gdyż w większości systemów funkcja systemowa chmod nie potrafi tego dokonać; większość systemów ignoruje również uprawnienia dowiązań symbolicznych. 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. Opcje modyfikujące to zachowanie opisano w rozdziale OPCJE.

ATRYBUTY SETUID I SETGID
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 BIT LEPKOŚCI
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).

OPCJE

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.

-c, --changes
    podobnie jak opcja --verbose, ale informuje tylko o dokonanych zmianach

-f, --silent, --quiet
    wyłącza wyświetlanie większości komunikatów o błędach

-v, --verbose
    wyświetla informacje diagnostyczne o każdym przetwarzanym pliku

--dereference
    działa na plikach wskazywanych przez dowiązania symboliczne, zamiast na samych dowiązaniach

-h, --no-dereference
    działa na samych dowiązaniach symbolicznych, zamiast na plikach, do których się odnoszą

--no-preserve-root
    nie traktuje katalogu głównego / w sposób specjalny (domyślnie)

--preserve-root
    odmawia działania rekurencyjnego na /

--reference=PLIK-WZORC
    używa trybu PLIKU-WZORC, zamiast podanych wartości TRYB. PLIK-WZORC jest zawsze tłumaczony, jeśli jest dowiązaniem symbolicznym.

-R, --recursive
    zmienia pliki i katalogi rekurencyjnie

Następujące opcje modyfikują sposób, w jaki program przemieszcza się po hierarchii katalogów, jeśli podano także opcję -R. Jeśli podano kilka opcji, używana jest ostatnia z podanych. Domyślną opcją jest -H.

-H  jeśli argument wiersza poleceń jest dowiązaniem symbolicznym do katalogu, podąża za nim

-L  podąża za każdym napotkanym dowiązaniem symbolicznym do katalogu

-P  nie podąża za żadnymi dowiązaniami symbolicznymi

--help
    wyświetla ten tekst i kończy pracę

--version
    wyświetla informacje o wersji i kończy działanie

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

AUTOR
Napisane przez Davida MacKenzie i Jima Meyeringa.

ZGŁASZANIE BŁĘDÓW
Zgłoszenia błędów proszę wysyłać na adres bug-coreutils@gnu.org
Strona internetowa GNU coreutils: <https://www.gnu.org/software/coreutils/>
Ogólna pomoc dotycząca oprogramowania GNU: <https://www.gnu.org/gethelp/>
O błędach tłumaczenia programu prosimy poinformować przez <https://translationproject.org/team/pl.html>

PRAWA AUTORSKIE
Copyright © 2026 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.

ZOBACZ TAKŻE
chmod(2)

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

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.