Большинство виртуальных хостов теперь отключили стандартный компонент ASP: FileSystemObject, поскольку этот компонент предоставляет ASP мощные возможности доступа к файловой системе и может читать, записывать, копировать, удалять, переименовывать и т. д. любой файл на жестком диске сервера (из. конечно, это возможно только в Windows NT/2000 с настройками по умолчанию). Однако после отключения этого компонента все ASP, использующие этот компонент, не смогут работать и удовлетворять потребности клиентов.
Как разрешить компонент FileSystemObject, не влияя на безопасность сервера (то есть разные пользователи виртуального хоста не могут использовать этот компонент для чтения и записи чужих файлов)? Здесь я представляю метод, который я получил в ходе эксперимента. В качестве примера ниже используется Windows 2000 Server.
Откройте диспетчер ресурсов на сервере, щелкните правой кнопкой мыши букву диска каждого раздела или тома жесткого диска, во всплывающем меню выберите «Свойства», выберите вкладку «Безопасность», и тогда вы увидите, какие учетные записи могут получить к этому доступ. раздел (Том) и права доступа. После установки по умолчанию появляется «Все» с разрешениями на полный доступ. Нажмите «Добавить», добавьте «Администраторы», «Операторы резервного копирования», «Опытные пользователи», «Пользователи» и другие группы и предоставьте «Полный доступ» или соответствующие разрешения. Будьте осторожны, не предоставляйте группе «Гости» «Учетные записи». Имя IUSR_machine» имеет любые разрешения. Затем удалите группу «Все» из списка, чтобы только авторизованные группы и пользователи могли получить доступ к этому разделу жесткого диска. При выполнении ASP он обращается к жесткому диску как «Имя IUSR_машины». Здесь не указаны разрешения учетной записи пользователя. , ASP не сможет читать и записывать файлы на жестком диске.
Все, что необходимо сделать, — это настроить отдельную учетную запись пользователя для каждого пользователя виртуального хоста, а затем назначить каждой учетной записи каталог, который предоставит ей полный контроль.
Как показано на рисунке ниже, откройте «Управление компьютером» → «Локальные пользователи и группы» → «Пользователи», щелкните правой кнопкой мыши в правом столбце и во всплывающем меню выберите «Новый пользователь»:
Во всплывающем диалоговом окне «Новый пользователь» введите «Имя пользователя», «Полное имя», «Описание», «Пароль» и «Подтвердите пароль» в соответствии с фактическими потребностями и добавьте «Пользователь должен сменить пароль в следующий раз». время входа в систему» перед «Пользователь должен сменить пароль при следующем входе в систему». Снимите галочки и выберите «Пользователь не может изменить пароль» и «Срок действия пароля не ограничен». В этом примере создается встроенная учетная запись «IUSR_VHOST1» для пользователя первого виртуального хоста для анонимного доступа к информационным службам Интернета. То есть, когда все клиенты получают доступ к этому виртуальному хосту с помощью http://xxx.xxx.xxxx/ , они будут использовать эту учетную запись, доступ к которой осуществляется по удостоверению. После завершения ввода нажмите «Создать». Вы можете создать несколько пользователей в соответствии с фактическими потребностями и нажать «Закрыть» после создания:
Теперь, когда вновь созданный пользователь появился в списке учетных записей, дважды щелкните учетную запись в списке для дальнейших настроек:
Во всплывающем диалоговом окне свойств «IUSR_VHOST1» (то есть только что созданной новой учетной записи) нажмите вкладку «Принадлежит»:
Вновь созданная учетная запись по умолчанию принадлежит группе «Пользователи». Выберите группу и нажмите «Удалить»:
Теперь появится то, что показано на рисунке ниже. В это время нажмите «Добавить»:
Найдите «Гости» во всплывающем диалоговом окне «Выбрать группу», нажмите «Добавить», эта группа появится в текстовом поле ниже, а затем нажмите «ОК»: [www.knowsky.com]
Появится то, что показано на рисунке ниже. Нажмите «ОК», чтобы закрыть это диалоговое окно:
Откройте «Internet Information Services» и начните настройку виртуального хоста. В этом примере мы берем настройку «Первый виртуальный хост». Щелкните правой кнопкой мыши имя хоста и выберите «Свойства» во всплывающем меню:
Появится диалоговое окно «Свойства первого виртуального хоста». В диалоговом окне вы можете видеть, что пользователь виртуального хоста использует папку «F:VHOST1»:
Не обращайте внимания на диалоговое окно «Свойства первого виртуального хоста», переключитесь на «Проводник», найдите папку «F:VHOST1», щелкните правой кнопкой мыши, выберите «Свойства» → вкладка «Безопасность», в это время вы можете видеть это. настройка безопасности папки по умолчанию — полный доступ «Все» (отображаемый контент может различаться в зависимости от ситуации). Сначала измените «Разрешить распространение наследуемых разрешений от родительского объекта на объект» внизу. Снимите галочку:
В это время появится предупреждение «безопасности», как показано ниже, нажмите «Удалить»:
В это время все группы и пользователи на вкладке «Безопасность» будут очищены (если они не очищены, используйте «Удалить», чтобы очистить их), а затем нажмите кнопку «Добавить».
Добавьте «Администратора», как показано на рисунке, и новую учетную запись «IUSR_VHOST1», созданную ранее, которая предоставит полный доступ. Вы также можете добавить другие группы или пользователей в соответствии с фактическими потребностями, но не добавляйте «Гостей». группа, «Имя IUSR_машины» и эти учетные записи анонимного доступа добавлены!
Затем переключитесь на диалоговое окно «Свойства первого виртуального хоста», которое было открыто ранее, откройте вкладку «Безопасность каталога» и нажмите «Редактировать» в разделе «Анонимный доступ и контроль аутентификации»:
Во всплывающем окне «Метод проверки» (как показано ниже) нажмите «Изменить»:
Появится «Учетная запись анонимного пользователя», по умолчанию «IUSR_Machine Name», нажмите «Обзор»:
В диалоговом окне «Выбор пользователя» найдите новую учетную запись «IUSR_VHOST1», созданную ранее, и дважды щелкните:
На данный момент анонимное имя пользователя было изменено. В поле пароля введите пароль, установленный для учетной записи при ее создании ранее:
ОК, готово, нажмите ОК, чтобы закрыть эти диалоговые окна.
После этой настройки пользователи «первого виртуального хоста», использующие компонент ASP FileSystemObject, смогут получить доступ только к содержимому своего собственного каталога: F:VHOST1. При попытке доступа к другому содержимому появится сообщение об ошибке, например «Нет разрешения». . Отображаются сообщения «Жесткий диск не готов», «500 Внутренняя ошибка сервера» и другие сообщения об ошибках.
Другое: Если пользователю необходимо прочитать емкость раздела жесткого диска и серийный номер жесткого диска, такая настройка сделает чтение невозможным. Если вы хотите разрешить ему читать содержимое, относящееся ко всему разделу, щелкните правой кнопкой мыши раздел (том) жесткого диска, выберите «Свойства» → «Безопасность», добавьте учетную запись этого пользователя в список и введите минимум «Чтение» «Разрешения. Поскольку для всех подкаталогов этого тома установлено значение «Запретить распространение наследуемых разрешений от родительского объекта на этот объект», настройки разрешений следующих подкаталогов не будут затронуты.