Числові режими chmod: 600, 644, 700 і 755
Розберіться з числовими дозволами chmod, обирайте безпечні режими для файлів і каталогів, перевіряйте результат та уникайте ризикованих рекурсивних змін.
Почати інтерактивний урокТризначний режим chmod задає дозволи для власника, групи та всіх інших саме в такому порядку. Кожна цифра складається з читання (4), запису (2) і виконання або пошуку в каталозі (1). Наприклад, chmod 640 report.txt надає власнику право читати й змінювати файл, групі — читати, а всім іншим забороняє доступ. У уроці про числові дозволи можна безпечно потренуватися розшифровувати ці цифри.
Складіть одну цифру дозволів
Кожна категорія користувачів отримує значення від 0 до 7:
| Число | Дозволи | Значення |
|---|---|---|
| 0 | --- | немає доступу |
| 1 | --x | виконувати файл або шукати в каталозі |
| 2 | -w- | записувати |
| 3 | -wx | записувати + виконувати/шукати |
| 4 | r-- | читати |
| 5 | r-x | читати + виконувати/шукати |
| 6 | rw- | читати + записувати |
| 7 | rwx | читати + записувати + виконувати/шукати |
Об'єднайте три цифри в порядку власник-група-інші. Отже, режим 754 означає rwxr-xr--.
Обирайте режим для конкретного об'єкта, а не за завченим списком
Ці режими часто використовують як відправну точку, але правильний вибір залежить від того, хто має працювати з цим шляхом:
| Режим | Типове значення |
|---|---|
600 | приватний файл, який може читати й змінювати лише власник |
640 | власник читає і змінює; група читає; інші не мають доступу |
644 | власник читає і змінює; усі інші читають |
700 | приватний каталог або виконуваний файл лише для власника |
750 | власник має повний доступ; група може читати й входити; інші не мають доступу |
755 | власник може змінювати; усі можуть читати й входити або виконувати |
Застосуйте режим до одного відомого об'єкта:
chmod 640 report.txt
chmod 750 scripts
Каталогам потрібен біт x, щоб до них можна було увійти й отримати доступ до названих елементів усередині. Каталог із дозволом на читання, але без дозволу на пошук, у деяких ситуаціях може показувати назви, проте звичайний доступ до цих елементів усе одно буде заблоковано. Тому копіювання режиму звичайного файла на каталог часто спричиняє незрозумілі помилки.
Перевірте результат у символьному вигляді
Після зміни перевірте режим:
ls -l report.txt
ls -ld scripts
Для звичайного файла з режимом 640 рядок дозволів має починатися з -rw-r-----. Для каталогу з режимом 750 — з drwxr-x---. Перший символ описує тип файла, а наступні дев'ять — дозволи власника, групи та інших.
Числові та символьні режими відповідають на різні запитання
Числовий режим задає повний набір звичайних дозволів, який ви хочете отримати. Символьна зміна коригує вибрані біти відносно поточного режиму:
chmod g+w shared.txt
chmod o-r private.txt
Використовуйте символьну форму, коли потрібно «додати групі право запису», не скидаючи інші дозволи. Числова форма підходить, коли ви свідомо обрали повний режим для власника, групи та інших. Спеціальні біти setuid, setgid і sticky bit додають ще одну цифру та потребують окремої перевірки перед використанням.
Не використовуйте chmod -R 777 як швидкий спосіб усунути проблему. Ця команда надає всім категоріям користувачів усі звичайні дозволи й поширює рішення на шляхи, які ви могли не перевірити. Почніть з одного об'єкта, перевірте результат і розширюйте охоплення лише тоді, коли всім вкладеним об'єктам справді потрібна однакова політика.
Щоб обрати між 600 і 700 саме для SSH, прочитайте як захистити файли SSH. Довідка GNU про числові режими визначає вісімкові значення та поведінку спеціальних режимів.
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.
Далі
Застосуйте chmod 600 до приватного ключа SSH і 700 до його каталогу, а перед новим підключенням перевірте дозволи та власника.