Потрібно дотримуватися принципу найменшої пільги . Сервер (напевно www-data
, але вам потрібно перевірити) повинен мати можливість читати більшість файлів (скажімо всі) та записувати лише в журнали. Веб-розробникам дозволяється писати там, де їм потрібно. Встановіть клейкий біт у каталогах, щоб його міг видалити лише власник файлу.
На практиці вам потрібно створити групу (наприклад webdev
) та додати до неї всіх розробників та сервера ( usermod -aG webdev <user>
або usermod -A webdev <user>
залежно від вашого смаку Linux). chown
всі файли та каталог для користувача веб-сервера, chmod всі каталоги до 500 і всі файли до 400 (за винятком випадків, bin
коли виконуваних файлів також повинно бути 500).
Надайте дозволу на запис /opt/tomcat
групі (це було б 570) і встановіть клейкий біт, щоб вони могли видаляти лише ті файли, якими вони володіють (chmod 1570). Надати серверу дозвіл на запис у журнали та читати дозволи для розробників (0740 для папки, 0640 для файлів, клейкий біт, мабуть, не потрібен, і ніколи не надавати його файлу, а лише папкам, оскільки він має інше значення (виконати з дозволів власника, коли файл виконується).
Тоді вам потрібно надати дозволи на запис (1570) webdev
на деякі каталоги. Тут вам знадобляться деякі пробні помилки, і це може залежати від програми. Ці папки мають бути 1570, тоді як деякі інші - 0500).
Розробникам необхідно надати групі доступ для читання своїх файлів, щоб сервер міг їх читати (це 640), а також виконувати в каталогах (це 750).