У меня есть многопользовательская установка Drupal-6, содержащая сайты разных клиентов.
На каждом сайте есть роль «администратор», которая включает в основном учетную запись клиента.
Мы хотим предоставить как можно больше разрешений этому привилегированному пользователю, но это может привести к утечкам в системе безопасности, используя только систему управления разрешениями Drupal Core.
Главное, чего следует избегать, - это учетная запись клиента, которая может запускать код PHP на сервере (это все равно, что регистрироваться на сервере как пользователь www-data .. звучит очень плохо).
Во избежание этого недостаточно отказать в оценке кода PHP для роли. Поскольку роль администратора должна иметь разрешения для управления пользователями, он также может изменить пароль пользователя # 1 и войти на сайт как superadmin.
Второй целью было бы запретить также некоторые «запутанные» административные страницы (такие как выбор модуля), но не другие (такие как конфигурация информации сайта или выбор темы и т. Д.)
Я нашел модуль User One , который, похоже, решает первую проблему, но я понятия не имею, как решить вторую проблему. Я нашел несколько модулей, но никто не подходит ... кажется, что большинство ACL-списков, как считается, защищают контент , а не сам сайт, как если бы администратор сайта всегда был сервером сам владелец ..