Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI

Управление доступом к каталогам


Сервер Personal Web Server позволяет организовать разграничение доступа пользователей к каталогам с документами HTML и другими объектами. И хотя эти средства не столь мощные и гибкие как в операционной системе Microsoft Windows NT, с их помощью вы можете предоставлять (или не предоставлять) к каталогам сервера для групп пользователей, а также для отдельных пользователей.

Для того чтобы настроить систему управления доступом к каталогам, откройте главную страницу системы администрирования сервера Personal Web Server, показанную выше на рис. 9.11 и воспользуйтесь ссылкой Local User Administration. При этом в окне навигатора появится блокнот, предназначенный для управления пользователями и группами пользователей (рис. 9.17), открытый на странице Users.

Рис. 9.17. Блокнот, предназначенный для управления пользователями и группами пользователей

Прежде всего вы должны добавить идентификаторы пользователей в список User List, для чего следует воспользоваться кнопкой New User. При этом вам будет нужно указать идентификатор добавляемого пользователя и пароль.

Для того чтобы создать группы пользователей, откройте страницу Groups блокнота управления пользователями и группами пользователей (рис. 9.18).

Рис. 9.18. Страница Groups блокнота управления пользователями и группами пользователей

Для создания группы сделайте щелчок левой клавишей мыши по кнопке New Group. Вы можете изменить параметры группы при помощи кнопки Properties или удалить группу, выделив ее имя в списке Group List и нажав затем кнопку Remove.

После того как вы создали группы и добавили идентификаторы пользователей, можно приступить к объединению пользователей в группы. Такое объединение позволит упростить управление доступом, так как для многих пользователей требуются схожие права доступа.

Добавить пользователей в группы можно с помощью страницы User/Group, показанной на рис. 9.19.

Рис. 9.19. Страница User/Group блокнота управления пользователями и группами пользователей



Для того чтобы добавить пользователя в группу, вы должны выделить имя группы в списке Group List и имя добавляемого пользователя в списке User List, а затем нажать кнопку Add user to group. С помощью кнопки Remove user from group вы можете удалить пользователя из группы.


Итак, вы ввели идентификаторы пользователей вашего сервера и объединили их в группы. Теперь можно приступать к предоставлению доступа.

С помощью папки My Computer откройте папку каталога, к которому нужно предоставить доступ. Сделайте щелчок правой клавишей мыши и в появившемся на экране контекстном меню выберите строку Properties. На экране появится блокнот свойств выбранной вами папки. На рис. 9.20 мы показали такой блокнот для папки Scripts, предназначенной для хранения программных расширений сервера.



Рис. 9.20. Блокнот свойств папки Scripts

В этом блокноте нас интересует страница Sharing, с помощью которой можно управлять доступом к папке.

Центральная часть страницы Sharing содержит список имен пользователей (столбец Name) и соответствующие права доступа (столбец Access Rights). По умолчанию сразу после установки сервера к папке Scripts разрешается доступ для всех пользователей (строка The World) на чтение (строка Read-Only).

Вы можете добавить в список новых пользователей, нажав кнопку Add. При этом на экране появится диалоговая панель Add User (рис. 9.21).



Рис. 9.21. Диалоговая панель Add User

Для того чтобы предоставить пользователю или группе пользователей доступ к каталогу, вы должны выделить соответствующее имя в столбце Name. Если доступ предоставляется всем пользователям, выберите имя The world.

С помощью кнопки Read Only вы можете предоставить доступ только для чтения. Это как раз тот вид доступа, который нужен в большинстве случаев. Для предоставления доступа на чтение и запись нажмите кнопку Full Access. Более тонкая настройка прав доступа возможна с помощью кнопки Сustom.

В каких случаях вы должны предоставлять пользователям доступ на запись к каталогам сервера?

В тех случаях, когда это требуется для программ расширения сервера (CGI или ISAPI), запускаемых пользователем. Такие программы после запуска обладают правами пользователя, запустившего их. Если пользователь имеет права на запись в каталог, содержащий, например, файл счетчика посещений сервера, то и программа CGI или ISAPI, изменяющая содержимое этого файла, сможет правильно работать. Если же у пользователя такого права нет, счетчик не будет считать, так как программа расширения не сможет изменить текущее значение счетчика в файле.



После настройки прав доступа указанным выше способом, нажмите в блокноте свойств (рис. 9.20) кнопку Web Sharing. На экране появится диалоговая панель Web Sharing Folder Properties, с помощью которой можно настроить права доступа к файлам, расположенным в каталоге (рис. 9.22), при доступе к этим файлам через протоколы HTTP и FTP.



Рис. 9.22. Диалоговая панель Web Sharing Folder Properties

Если вы разрешаете доступ к папке через протокол HTTP, включите переключатель Share folder for HTTP. Для папок, содержащих документы HTML, графические и мультимедийные файлы, следует предоставить доступ только на чтение, включив переключатель Read Only и выключив переключатель Execute Scripts. Если папка содержит программные расширения CGI или ISAPI, вам следует поступить наоборот - запретить доступ на чтение, выключив переключатель Read Only, и разрешить доступ на выполнение, включив переключатель Execute Scripts.

Предоставляя доступ к папке через протокол FTP, включите переключатель Share Folder for FTP. Если пользователям разрешается только читать содержимое папки, включите переключатель Read и выключите переключатель Write. Аналогично, для предоставления доступа на запись включите переключатель Write.

Учтите, что каталоги, для которых разрешена запись, могут стать средством распространения вирусов, пиратских копий программ или использоваться для других нежелательных целей. Поэтому если ваш сервер FTP должен использоваться для обмена файлами, поступите следующим образом.

Заведите на сервере каталог с именем, например Upload, предоставив для него доступ на запись, но не на чтение. Для этого в диалоговой панели, показанной на рис. 9.22, включите переключатель Write и выключите переключатель Read. В результате все смогут записывать в каталог новые файлы, но читать их сможете только вы. Проверив новые поступления, вы можете переписать отобранные файлы в другой каталог с именем, например, NewFiles, имеющий доступ для чтения. При этом весь поток новых файлов, прежде чем попадет в каталог общего доступа, будет проходить  через ваши руки.


Содержание раздела