Utilia

Калькулятор chmod

Переводьте права доступу Unix між прапорцями, вісімковим (755) і символьним (rwxr-xr-x) записом, зі setuid, setgid, sticky-бітом і готовими командами chmod.

Права доступу
КласЧитання (4)Запис (2)Виконання (1)
Власник (u)
Група (g)
Інші (o)
Спеціальні біти

Команди

Числова
Символьна
Як показує ls -l
Відносна зміна від {from}

Хто що може робити

    Типові набори

    Як користуватися калькулятором chmod

    1. Почніть з будь-якого подання: позначте прапорці в таблиці Права доступу, введіть режим у поле Вісімковий (наприклад, 755 або 4755) або вставте рядок на кшталт rwxr-xr-x чи drwxr-sr-x (прямо з ls -l) у поле Символьний (наприклад, rwxr-xr-x). Інші подання оновляться миттєво.
    2. За потреби задайте Спеціальні біти: Setuid (4000), Setgid (2000) або Sticky (1000). Тоді вісімковий режим матиме чотири цифри.
    3. Введіть Ім’я файлу або каталогу, за потреби позначте Це каталог і Рекурсивно (-R) та скопіюйте Числова чи Символьна команду.
    4. Щоб перевірити відносну зміну, введіть її в поле Символьна зміна (наприклад, 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?

    Спеціальний біт установлено, а відповідного біта виконання немає. Зазвичай це помилка: додайте право виконання або приберіть спеціальний біт.