четвер, 12 лютого 2009 р.

Linux: власник, група та права каталогу вебпроєкту

Довго я налаштовував права файлів і каталогів через 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, спеціальні біти каталогів.

Немає коментарів:

Навантажувальне тестування K2 ERP: що перевірити до пікової зміни

Демонстраційна база швидко відкривається, презентація переконлива, а справжня перевірка починається перед відправленням машин: склад проводи...