Несколько сайтов на одном движке и к каждому своя файловая система.

Главные вкладки

Аватар пользователя VasyOK VasyOK 14 октября 2010 в 16:18

Здравствуйте форумчане! Опять я задаю вопросы по организации мультисайтинга.

К примеру есть 2 сайта на одном движке, по принципу отдельная база данных на каждый сайт.

В папке sites 2 папки:
ivanov.sitename.ru
petrov.sitename.ru

В каждой папке есть
files/
tmp/

Иванов и Петров держат свои сайты на субдоменах. Иванову нужно обязательно дать:

  • user №1 пароль от сайта ivanov.sitename.ru
  • FTP доступ в папку sites/ivanov.sitename.ru

Вопрос: как сделать, чтобы Иванов не смог управлять файлами Петрова?
Ведь он может зайти в настройки файловой ситемы Drupal-а и заменить там sites/ivanov.sitename.ru/files
на
sites/petrov.sitename.ru/files

Комментарии

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 14 октября 2010 в 17:05

Никак. Пользователей/сайты нужно разносить по разным учеткам.
В качестве плохонького варианта, для тех кто не будет совать нос дальше админки, можно папки для файлов сделать следующего вида - там sites/ivanov.sitename.ru/[password]/files - где password - некий уникальный набор случайных символов.

Аватар пользователя xxandeadxx xxandeadxx 14 октября 2010 в 21:55

можно жёстко прописать настройки в settings.php

<?php
switch ($_SERVER['HTTP_HOST']) {
  case 
'ivanov.sitename.ru'$conf['file_directory_path'] = 'sites/ivanov.sitename.ru/files'; break;
  case 
'petrov.sitename.ru'$conf['file_directory_path'] = 'sites/petrov.sitename.ru/files'; break;
}
?>
Аватар пользователя VasyOK VasyOK 14 октября 2010 в 22:40

Это нужно написать в том settings.php, который в sites/all ?

Ведь Иванову нужно обязательно дать доступ в sites/ivanov.sitename.ru, а там свой settings.php

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 15 октября 2010 в 9:20

"VasyOK" wrote:
Я думаю, что этот password не составит большого труда узнать, если посмотреть картинки на сайте.

Разумеется, любой из способов которые можно придумать в этом случае будет основан на сокрытии информации о фактическом расположении файлов. Но создав с ноду с php-содержимым, любопытный Иванов легко получит на руки всю интересующую его информацию из папок мультисайта.

Аватар пользователя VasyOK VasyOK 15 октября 2010 в 13:04

Может на хостинге можно как-то указать, что файлы из папки sites/ivanov.sitename.ru/ доступны только с сайта ivanov.sitename.ru ?

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 15 октября 2010 в 13:43

Хостинг не знает о существовании ivanov.sitename.ru, он знает только что запросы на *.sitename.ru, нужно отдавать движку. С точки зрения вэб-сервера мультисайты друпала это ОДИН сайт, со всеми вытекающими последствиями, типа невозможности разграничения доступа.