управлять данными нужно вне зависимости от того, пришел к нам через веб-интерфейс администратор или рядовой посетитель.
Разными частями данных. На данный момент самая хитрожопа конструкция у меня на хостинге имеет 4 части: - Администраторов (RW на всё) - Модераторов(RW на большую часть таблиц) - Зарегистрированных посетителей не-модераторов (RW на малую часть таблиц) - Анонимных посетителей (Read-Only на всё, статистика собирается из лога вебсервера, не компостируйте мозг сбором статистики в базу)
4 пользователя одной базы данных, соответствующие этим уровням доступа, "разведены" путём давания прав по отдельным группам ТАБЛИЦ базы.
Я не вижу вменяемого способа растащить это по разным unix users и database users.
В рамках накопленного к настоящему времени кода - и я не вижу, в общем-то. :)
Идейно "как можно было бы сделать правильно" - вижу вполне:
Для сайта делается "jail" - контейнер, в котором
1. Код, исполняемый для анонимного пользователя сайта, исполняется под спец юзером nobody с обязательным чрутом, соотв каталогами и квотами. 2. Всякий залогиненный пользователь - это пользователь в рамках unix системы авторизации с выдачей оному коду домашнего каталога и всех сопутствующих товаров, с (возможным) чрутом и квотами. И кодом, который ему доступен для исполнения, но не для правки. 3. Всякий "администратор сайта" - это пользователь, имеющий судо в рамках оного "контейнера" и соответствующий код, доступный ему для исполнения.
Почему, по твоему, эта логика НЕ применима для доступа к unix системе по http[s] протоколу,чем он таким СЕЙЧАС отличается от любого другого доступа к unix системе? :)
no subject
Date: 2016-Feb-20, Saturday 15:55 (UTC)Разными частями данных.
На данный момент самая хитрожопа конструкция у меня на хостинге имеет 4 части:
- Администраторов (RW на всё)
- Модераторов(RW на большую часть таблиц)
- Зарегистрированных посетителей не-модераторов (RW на малую часть таблиц)
- Анонимных посетителей (Read-Only на всё, статистика собирается из лога вебсервера, не компостируйте мозг сбором статистики в базу)
4 пользователя одной базы данных, соответствующие этим уровням доступа, "разведены" путём давания прав по отдельным группам ТАБЛИЦ базы.
Я не вижу вменяемого способа растащить это по разным unix users и database users.
В рамках накопленного к настоящему времени кода - и я не вижу, в общем-то. :)
Идейно "как можно было бы сделать правильно" - вижу вполне:
Для сайта делается "jail" - контейнер, в котором
1. Код, исполняемый для анонимного пользователя сайта, исполняется под спец юзером nobody с обязательным чрутом, соотв каталогами и квотами.
2. Всякий залогиненный пользователь - это пользователь в рамках unix системы авторизации с выдачей оному коду домашнего каталога и всех сопутствующих товаров, с (возможным) чрутом и квотами. И кодом, который ему доступен для исполнения, но не для правки.
3. Всякий "администратор сайта" - это пользователь, имеющий судо в рамках оного "контейнера" и соответствующий код, доступный ему для исполнения.
Почему, по твоему, эта логика НЕ применима для доступа к unix системе по http[s] протоколу,чем он таким СЕЙЧАС отличается от любого другого доступа к unix системе? :)