chmod(1) 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 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.

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.

Program 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 oraz ustawić (ale nie wyczyścić) bity za pomocą trybu numerycznego.

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
--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 wartości TRYB
-R, --recursive
zmienia pliki i katalogi rekurencyjnie
--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]+".

Strona internetowa z pomocą GNU coreutils: <http://www.gnu.org/software/coreutils/> Zgłoszenia błędów w tłumaczeniu chmod proszę wysyłać na adres <http://translationproject.org/team/pl.html>

AUTOR

Napisane przez Davida MacKenzie i Jima Meyeringa.

PRAWA AUTORSKIE

Copyright © 2014 Free Software Foundation, Inc. Licencja GPLv3+: GNU GPL w wersji 3 lub późniejszej <http://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.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <[email protected]>, Wojtek Kotwica (PTM) <[email protected]> i Michał Kułach <[email protected]>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 8.23 oryginału.