За последние 24 часа нас посетили 18138 программистов и 1609 роботов. Сейчас ищут 1396 программистов ...

Автообновление и права на папки

Тема в разделе "Решения, алгоритмы", создана пользователем artoodetoo, 4 мар 2016.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Считается хорошей практикой на сайте ставить права доступа на папки с кодом только на чтение. А куда запись разрешена (cache, upload) вынести за пределы DocumentRoot или как-то иначе запретить там запуск скриптов через веб.

    Но если у вас есть система обновления, то очевидно нужны права на запись в папки со скриптами. Вот в WordPress, например, есть обновление ядра, плагинов и тем и это хорошо! Но страшно.

    Я меня тут происходит когнитивный диссонанс и расстройство. Как бы вы разрешили этот конфликт?
     
  2. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Никуда не выносил открытые каталоги, и не нужно это делать. К ним просто нужно убрать прямой доступ и всё. И, соответственно, правильно роутить запросы к статике которая там лежит на уровне приложения или на уровне перенаправлений по URL
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Хорошо, но это не ответ на вопрос.
    Вынос папок не мешает обновляться. Помешать могут права: хочется их у www-data отнять, но тогда получается что через web-ный php нереально будет обновиться.
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    По хорошему пользователь должен иметь все необходимые права на директорию проекта. Зашита от записии выполнения чего-то вредоносного в каталог должна быть на уровне самого приложения я считаю. И всё же, как вариант, можно дергать команды на сброс прав до обновления и повторное закрытие от записи после самого обновления. Так насколько помню, тот же друпал когда инсталится сам выставляет права на свои каталоги.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ммм, нет. Нужны права доступа ОС, и тогда наверняка. А защита уровня приложения она сегодня есть, а завтра оказалось, что она уже год как не есть.
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Делал так. Есть юзер SSH и есть юзер веб-сервера. Ну, в одной группе. Обновления от первого через wp-cli. Второму права на запись только на отдельные директории. В общем жизнеспособно, но немного гиморно. Так что если в этом WP нет каких-то критичных приватных данных ине очень критичен теоретический простой из-за взлома - не парится и давать права записи веб-серверу на обновление. Просто наладить частый бакап на другую машину, а если уж совсем параноя - отдельный cli по проверке целостности файлов по хешу, есть твсякие подобные решения.
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Спасибо! Оба пользователя в одной группе это чтобы chmod g+w cache сделать?

    Это можно распостранить и не на cli. Чисто теоретически можно ведь на ту же площадку с другого домена/поддомена зайти под другой системной учеткой…

    И конечно забить на права всегда можно, это не фокус :)
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Ну да, ну и вообще логическое объединение юзеров. Там еще формум, например, может жить... под 3-м юзером ;)

    Да, так можно. Вообще админку направить на свой пул PHP со своим юзером. Но будет точка взлома ;)