CHMOD(1)

НАЗВА
chmod — зміна бітів режиму доступу до файл

КОРОТКИЙ ОПИС
chmod [ПАРАМЕТР]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ...
chmod [ПАРАМЕТР]... ВІСІМКОВИЙ-РЕЖИМ ФАЙЛ...
chmod [ПАРАМЕТР]... --reference=ЗФАЙЛ ФАЙЛ...

ОПИС
Ця сторінка підручника є документацією з версії GNU chmod. chmod змінює біти режиму доступу до файла для кожного вказаного файла за заданим значенням режим. Режимом може бути символічне представлення змін, які слід внести, або вісімкове число, яке відповідає бітовому шаблону для бітів нового режиму.

Форматом для символічного режиму є такий: [ ugoa...][[-+=][права_доступу...]...], де значенням права_доступу є нуль або більше літер з набору rwxXst або одна літера з набору ugo. Можна вказати декілька символічних режимів, які слід відокремлювати комою.

Комбінація літер ugoa керує тим, які користувачі матимуть доступ до внесення змін до файлів: користувач, який є власником (u), інші користувачі у групі файла (g), інші користувачі, яких немає у групі файла (o), або усі користувачі (a). Якщо не буде надано жодної літери, результат буде таким, наче вказано (a), але біти, які встановлено в umask, змінено не буде.

Використання оператора + призведе до додавання вибраних бітів режиму доступу до файла до наявних бітів режим доступу до файла; - — до їхнього вилучення; а = — до додавання вказаних і вилучення усіх незгаданих бітів, окрім того, що незгадані біти ідентифікаторів користувача і групи каталогів лишаться незмінними.

Літери rwxXst визначають біти режиму доступу для відповідних користувачів: читання (r), запис (w), виконання (або пошук для каталогів) (x), виконання пошук, лише якщо файл є каталогом або вже має права на виконання для якогось користувача (X), встановлення ідентифікатора користувача або групи при виконанні (s), прапорець обмеження на вилучення або липкий біт (t). Замість однієї або декількох цих літер ви можете вказати точно одну з літер ugo: надати права доступу користувачеві, який є власником файла (u), надати права доступу іншим користувачам, які є учасниками групи файла (g) і надати права доступу користувачам, якщо не належать до двох попередніх категорій (o).

У числовій формі запису режиму доступу може бути від однієї до чотирьох вісімкових цифр (0-7). Режим обчислюють додаванням бітів зі значеннями 4, 2 та 1. Якщо цифр менше чотирьох, пропущені цифри вважаються початковими нулями. Перша цифра визначає встановлення ідентифікатора користувача (4), встановлення ідентифікатора групи (2) і атрибут обмеженого вилучення або липкий біт (1). Друга цифра визначає права доступу для користувача-власника файла: читання (4), запис (2) і виконання (1). Третя цифра визначає права доступу для інших користувачів у групі файла із тими самими значеннями, а четверта — права доступу для інших користувачів, поза групою файла, із тими самими значеннями.

chmod не змінює права доступу до символічних посилань; системний виклик chmod не може змінити права доступу до них у більшості систем. Крім того, у більшості систем буде проігноровано права доступу до символічних посилань. Втім, для усіх символічних посилань зі списку у рядку команди chmod змінює права доступу для файла, на який воно посилається. Якщо ж під час рекурсивного переходу каталогами програмі трапиться символічне посилання, chmod його проігнорує. Про параметри, які змінюють цю поведінку, йдеться у розділі ПАРАМЕТРИ.

БІТИ SETUID І SETGID
chmod знімає біт встановлення ідентифікатора групи для звичайних файлів, якщо ідентифікатор групи файла не збігається із дійсним ідентифікатором групи користувача або одним із ідентифікаторів додаткових груп користувача, якщо у користувача немає відповідних прав доступу. Додаткові обмеження можуть спричинити ігнорування бітів встановлення ідентифікатора користувача та встановлення ідентифікатора групи в аргументах РЕЖИМ та ЗФАЙЛ. Ця поведінка залежить від правил та функціональних можливостей базового системного виклику chmod. Якщо маєте сумніви, ознайомтеся із правилами, які діють у базовій системі.

Для каталогів chmod зберігає біти встановлення ідентифікатора користувача та встановлення ідентифікатора групи, якщо явним чином не визначено іншу поведінку. Ви можете встановити або вилучити біти за допомогою символічних режимів, наприклад, u+s або g-s. Щоб вилучити ці біти для каталогів у числовому режимі, потрібен додатковий початковий нуль, наприклад, 00755, початковий мінус, наприклад, -6000, або початковий знак «дорівнює», наприклад, =755.

ПРАПОРЕЦЬ ОБМЕЖЕНОГО ВИЛУЧЕННЯ АБО ЛИПКИЙ БІТ
Прапорець обмеженого вилучення або липкий біт є одинарним бітом, інтерпретація якого залежить від типу файла. Для каталогів він запобігає вилученню або перейменуванню файла у каталозі для непривілейованих користувачів, якщо вони не є власниками файла або каталогу; це називають прапорцем обмеженого вилучення для каталогу. Такий прапорець, зазвичай, можна зустріти у загальнодоступних каталогах, зокрема /tmp. Для звичайних файлів у деяких застарілих системах цей біт призводить до зберігання образу тексту програми на пристрої резервної пам'яті, що дає змогу швидше завантажувати код при запуску; у таких випадках цей біт називають липким бітом.

ПАРАМЕТРИ

Змінити режим для всіх файлів на РЕЖИМ. З параметром --reference, змінює контекст безпеки кожного ФАЙЛа на контекст ЗФАЙЛА.

-c, --changes
    як verbose, але повідомляти, лише якщо справді внесена зміна

-f, --silent, --quiet
    придушити більшість повідомлень про помилки

-v, --verbose
    вивести діагностичні дані для кожного з оброблених файлів

--dereference
    обробити ціль кожного символічного посилання, а не на саме символічне посилання

-h, --no-dereference
    обробити кожне символічне посилання, а не його посилання

--no-preserve-root
    не обробляти «/» особливим чином (типова поведінка)

--preserve-root
    не виконувати рекурсивної обробки «/»

--reference=ЗФАЙЛ
    використовувати режим ЗФАЙЛа замість явного вказування РЕЖИМу. ЗФАЙЛа завжди буде розіменовано, якщо це символічне посилання.

-R, --recursive
    змінювати файли і каталоги рекурсивно

Наведені нижче параметри змінюють спосіб переходу ієрархією каталогів при використанні параметра -R. Якщо вказано декілька цих параметрів, працюватиме лише останній із вказаних. -H є типовим варіантом.

-H  якщо аргументом командного рядка є символічне посилання на каталог, перейти за ним

-L  переходити за усіма символічними посиланнями на каталог, які буде виявлено

-P  не переходити за жодним символічним посиланням

--help
    відображає довідку і виходить

--version
    виводить інформацію про версію і виходить

РЕЖИМ слід вказувати у формі '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

АВТОР
Авторами програми є David MacKenzie та Jim Meyering.

ЗВІТИ ПРО ВАДИ
Мережева довідка GNU coreutils: <https://www.gnu.org/software/coreutils/>
Повідомляйте про будь-які помилки в перекладі на <https://translationproject.org/team/>

ДИВ. ТАКОЖ
chmod(2)

Повна документація: <https://www.gnu.org/software/coreutils/chmod>
або доступна локально через виклик info '(coreutils) chmod invocation'

Запаковано Debian (9.7-3)
© Free Software Foundation, Inc., 2025
Умови ліцензування GPLv3+: GNU GPL версії 3 або пізнішої <https://gnu.org/licenses/gpl.html>.
Це вільне програмне забезпечення: Ви можете вільно змінювати і розповсюджувати його.
Не надається НІЯКИХ ГАРАНТІЙ у межах, передбачених законом.

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html). НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.