Довго я налаштовував права файлів і каталогів через Midnight Commander: запускав пошук у всьому проєкті, виділяв знайдені об’єкти, призначав власника й групу, а потім знову виділяв їх для зміни прав доступу. На великому проєкті це займало багато часу.
Рекурсивні команди дають змогу обробити дерево каталогу без такого ручного повторення. У своїй нотатці 2009 року я навів приклад для каталогу web та користувача й групи www-data:
chown -R www-data web
chgrp -R www-data web
chmod -R g+rws webЩо змінює цей приклад
chown -R www-data webрекурсивно змінює власника каталогуwebі його вмісту.chgrp -R www-data webрекурсивно змінює групу.- У
chmod -R g+rws webлітераgозначає групу,rіwдодають читання та запис, аsзадає спеціальний біт setgid. Це не те саме, що звичайне право виконанняx.
На каталогах setgid у типових системах допомагає успадковувати групу новими об'єктами. Рекурсивна команда, однак, застосовує зміну також до файлів; її не слід механічно переносити на будь-який вебпроєкт.
Чому права потрібно добирати для конкретного проєкту
Надання вебсерверу запису до всього дерева коду може бути зайвим. Спочатку визначте потрібного власника й групу, окремо перевірте каталоги завантажень, кешу та інші місця, де застосунок справді має записувати дані. Наведений фрагмент — пояснення старої конфігурації, а не універсальний шаблон прав.
Довідка GNU: chown, chgrp, chmod, спеціальні біти каталогів.
Немає коментарів:
Дописати коментар