Калькулятор chmod
Переводьте права доступу Unix між прапорцями, вісімковим (755) і символьним (rwxr-xr-x) записом, зі setuid, setgid, sticky-бітом і готовими командами chmod.
| Клас | Читання (4) | Запис (2) | Виконання (1) |
|---|---|---|---|
| Власник (u) | |||
| Група (g) | |||
| Інші (o) |
Команди
- Числова
- Символьна
- Як показує ls -l
- Відносна зміна від {from}
Хто що може робити
Типові набори
Як користуватися калькулятором chmod
- Почніть з будь-якого подання: позначте прапорці в таблиці Права доступу, введіть режим у поле Вісімковий (наприклад, 755 або 4755) або вставте рядок на кшталт
rwxr-xr-xчиdrwxr-sr-x(прямо зls -l) у поле Символьний (наприклад, rwxr-xr-x). Інші подання оновляться миттєво. - За потреби задайте Спеціальні біти: Setuid (4000), Setgid (2000) або Sticky (1000). Тоді вісімковий режим матиме чотири цифри.
- Введіть Ім’я файлу або каталогу, за потреби позначте Це каталог і Рекурсивно (-R) та скопіюйте Числова чи Символьна команду.
- Щоб перевірити відносну зміну, введіть її в поле Символьна зміна (наприклад, u+x,go-w) і натисніть Застосувати зміну.
Кнопки Типові набори завантажують поширені режими, як-от 644, 600, 755 чи 2775. Рядок Відносна зміна від … показує вираз chmod, який перетворює останній набір або введений режим на поточний, наприклад a+x для переходу від 644 до 755.
Як читати права доступу Unix
Кожен файл має три класи користувачів: власник (u), група файлу (g) та інші (o), тобто всі решта. Кожен клас отримує три права, і кожне має числове значення: читання = 4, запис = 2, виконання = 1. Їх сума дає одну вісімкову цифру на клас: rwx = 7, rw- = 6, r-x = 5, r– = 4. Саме тому rwxr-xr-x – це 755.
Для каталогу ті самі літери означають дещо інше, і це пояснює список Хто що може робити: r дозволяє переглядати список елементів, w дозволяє створювати, перейменовувати й видаляти елементи (разом із x), а x дозволяє заходити в каталог і діставатися до файлів усередині.
Спеціальні біти
- Setuid (4000) для виконуваного файлу змушує його працювати з правами власника файлу. Наприклад,
passwdвикористовує його, щоб записувати в базу паролів. Біт відображається якsна місці виконання для власника або якS, якщо права на виконання немає. - Setgid (2000) для виконуваного файлу запускає його з правами групи. Для каталогу нові файли успадковують групу каталогу, що підтримує єдність спільних проєктних тек (2775).
- Sticky (1000) для каталогу дозволяє видаляти чи перейменовувати файл лише його власнику, навіть коли записувати в каталог можуть усі. Для
/tmpце 1777. Біт відображається якt(абоT) на місці виконання для інших.
Символьні зміни
Символьний вираз має вигляд «кого, оператор, права»: u+x додає виконання для власника, go-w забирає запис у групи й інших, a=r задає лише читання для всіх, g=u копіює права власника групі. Окремі частини розділяйте комами. Велика літера X додає виконання лише для каталогів або файлів, які вже мають біт виконання, тому chmod -R a+X безпечно застосовувати до дерева зі змішаними файлами. Якщо «кого» не вказано, цей інструмент застосовує зміну до всіх класів, так само як GNU chmod з umask 0.
Поради щодо безпеки
Уникайте 777. Цей режим дозволяє будь-якому обліковому запису на машині, зокрема скомпрометованому процесу вебсервера, змінювати або замінювати файл. Типові безпечні варіанти: 644 для файлів, 755 для каталогів і скриптів, 600 для приватних ключів і 700 для приватних каталогів. Калькулятор попереджає про режими, доступні для запису всім, про 777 і програми із setuid.
Поширені запитання
Чим відрізняються chmod 755 і chmod 775?
За 755 записувати може лише власник, а група й інші можуть читати та виконувати. 775 додатково дає групі право запису, що зручно для каталогів, спільних для команди.
Які права має мати приватний ключ SSH?
600 (rw-------). OpenSSH відмовляється використовувати приватний ключ, який може читати група чи інші користувачі.
Чому вісімковий режим іноді має чотири цифри?
Перша цифра містить спеціальні біти: 4 – setuid, 2 – setgid, 1 – sticky. 0755 і 755 – це той самий режим.
Чи працює chmod 644 для каталогу?
Біти встановлюються, але без x ніхто не зможе зайти в каталог чи відкрити його файли. Для каталогів використовуйте 755 або 750.
Що означає велика S або T у виводі ls -l?
Спеціальний біт установлено, а відповідного біта виконання немає. Зазвичай це помилка: додайте право виконання або приберіть спеціальний біт.
Схожі інструменти
- Конвертер систем числення Переводьте числа між двійковою, вісімковою, десятковою, шістнадцятковою та будь-якою системою від 2 до 36, з доповняльним кодом і покроковим поясненням.
- Генератор редиректів .htaccess Створіть редиректи 301 і 302 для .htaccess або Nginx, примусовий HTTPS і www, перенесення домену й кінцевий слеш із перевіркою циклів і ланцюжків.
- Конструктор виразів cron Складіть вираз cron за полями, прочитайте його простими словами, перегляньте наступні запуски в часовому поясі й перетворіть на формат systemd, Quartz чи AWS.