Каталоги похожи на обычные файлы в одном отношении; система представляет информацию в каталоге набором байтов, но эта информация включает в себя имена файлов в каталоге в объявленном формате для того, чтобы операционная система и программы, такие как ls (выводит список имен и атрибутов файлов), могли их обнаружить.
Права доступа к файлу регулируются установкой специальных битов разрешения доступа, связанных с файлом. Устанавливая биты разрешения доступа, можно независимо управлять выдачей разрешений на чтение, запись и выполнение для трех категорий пользователей: владельца файла, группового пользователя и прочих. Пользователи могут создавать файлы, если разрешен доступ к каталогу. Вновь созданные файлы становятся листьями в древовидной структуре файловой системы.
Для пользователя система UNIX трактует устройства так, как если бы они были файлами. Устройства, для которых назначены специальные файлы устройств, становятся вершинами в структуре файловой системы. Обращение программ к устройствам имеет тот же самый синтаксис, что и обращение к обычным файлам; семантика операций чтения и записи по отношению к устройствам в большой степени совпадает с семантикой операций чтения и записи обычных файлов. Способ защиты устройств совпадает со способом защиты обычных файлов: путем соответствующей установки битов разрешения доступа к ним (файлам). Поскольку имена устройств выглядят так же, как и имена обычных файлов, и поскольку над устройствами и над обычными файлами выполняются одни и те же операции, большинству программ нет необходимости различать внутри себя типы обрабатываемых файлов.
Сетевая защита в UNIX основывается на сложной схеме именования, которая начинается с имен пользователей. Пользователям присваиваются имена и пароли, которые нужны для регистрации пользователей в системе,
Сетевые ресурсы известны и поддерживаются как службы. Им даются имена, с помощью которых пользователи могут обратиться к ним. Службы включают в себя: фазовую службу (каталоги, подкаталоги, данные и программы в каталогах), коммуникационные службы (программы эмуляции SNA 3270, асинхронные коммуникационные службы) и службы печати. Все службы получают имена через службу именования в UNIX, именуемую StreetTalk.
Каждое имя состоит из 3-х частей: имени ресурса или пользователя, имени труппы пользователей и имени организации. Например, пусть существует сервер с именем организации ACME; есть две группы пользователей MARKETING (маркетинг) и ACCOUNTING (бюджет), существует также несколько служб, связанных с каждой группой, например, WP (word processing) обработка текста) DBASE (database) база данных, АССТ (accounting) бюджет. При использовании каждая часть имени отделяется от другой знаком @. Пользователь FRED из группы MARKETING должен зарегистрироваться для работы в сети с помощью команд:
Если этот пользователь хочет запросить службу, связанную с базой данных маркетинга организации (ПО СУБД и файлы базы данных), он должен выполнить команду:
A>SETDRIVE G DBASE@MARKETING@ACME
Эта команда назначит логическое устройство G: на каталог и подкаталоги с ПО СУБД и файлами базы данных, Длинным именам StreetTalk могут быть назначены короткие синонимы (Nicknames).
StreetTalk - это база данных списков. Она, в частности, включает в себя список сетевых ресурсов. Другие списки SteetTalk - это списки пользователей, групп пользователей и прав пользователей.
Можно сказать, что ключевым фактором, обусловливающим эффективность системы UNIX, является ее служба распределения имен StreetTalk, которая делает сеть аппаратно независимой. Служба StreetTalk осуществляет распределение единой базы данных пользователей, групп и ресурсов между всеми серверами ЛВС, так что вам никогда не придется вводить какое-либо изменение в права доступа сети более чем один раз.
Если у вас имеются соответствующие права доступа, служба StreetTalk предоставит вам возможность использовать любой ресурс сети независимо от того, в каком месте он находится. Например, когда какая-либо рабочая группа переезжает в новый город, вы можете перенести коллективно используемые и персональные данные членов этой группы просто путем загрузки резервной магнитной ленты в сервер в этом новом городе. Группа сможет продолжить свою деятельность прямо с того места, на котором работа была прервана, причем сможет использовать те же самые процедуры вхождения в систему, персональные каталоги, прикладные программы и адреса электронной почты. (В случае других сетевых ОС вам пришлось бы создавать новые сценарии вхождения в систему, задавать новые адреса и переустанавливать права доступа для каждого пользователя.)
В состав системы UNIX входит подсистема повышения эффективности работы с каталогами Directory Assistance, обеспечивающая ведение в каждой ЛВС копии полного каталога StreetTalk для всей глобальной вычислительной сети. Благодаря наличию такой локальной копии вы получаете возможность направлять электронную почту удаленному пользователю даже в случае, если обе ЛВС в настоящий момент не имеют связи.
В UNIX администратор сети управляет правами доступа пользователей через ARL-список (Access Rights List), который связан с каждой службой. ARL определяет 6 операций, которые могут быть предоставлены:
1. управление правами доступа к каталогу;
2. управление правами доступа к подкаталогам; возможность создания и удаления файлов в каталоге и подкаталогах;
3. возможность модификации файлов в каталоге и его подкаталогах;
4. возможность чтения файлов в каталоге и подкаталогах;
5. возможность удаления каталогов.
Каждому имени пользователя в ARL присваивается одно из следующих 4-х прав доступа: право управления (control access), которое дает пользователю возможность выполнения всех 6-ти операций; право модификации (modify access), которое позволяет выполнять операции 2,3,4 и 5; право чтения (read access), которое позволяет выполнять операцию чтения фактов в каталоге и подкаталогах; нулевое право (null access), которое запрещает пользователю выполнять любую из шести операций.
Права доступа для трупп и имен пользователей не объединяются, как это имеет место в NetWare. Пользователю просто даются права, относящиеся к первому элементу в списке. Если первым элементом является элемент, описывающий права группы, то пользователь получает права труппы. Если первый элемент - это элемент, описывающий права пользователя, то пользователь получает права пользователя. Вместе эти права не объединяются.
Каждая служба принадлежит определенной группе и имеет связанный со службой ARL. (В приведенном выше примере служба DBASE принадлежит группе MARKETING). Если со службой нс связан ARL, то каждый пользователь в группе автоматически получает право модификации. Если ARL существует, то доступ к службе имеют только пользователи, указанные в ARL и только с теми правами, какие там указаны. Разрешено применение wildcard-символов в ARL. Например, элемент *@MARKETING@ACME дает каждому из группы MARKETING одинаковые права доступа к службе.
ARL может содержать только 5 элементов. Поэтому даже в небольшой сети UNIX ARL представляет собой список имен пользовательских списков. Все пользователи в каждой группе с одинаковыми правами доступа могут быть помещены в 1 список и имя этого списка может быть добавлено к ARL. Например, StreetTalk - имя MODLIST@MARKETING@ACME может ссылаться на список, содержащий всех пользователей группы MARKETING с правом модификации. Помещение имени этого списка в ARL для службы базы данных (с именем DBASE) и указание для него права модификации делает возможным доступ пользователей из этого списка к службе DBASE только с правом модификации.
Наконец, с каждой группой связан список администраторов AdminList. Каждый пользователь в AdminList имеет право управления для корневого каталога, независимо от того, что указано в ARL.
Система защиты дает администратору некоторую гибкость в присвоении прав доступа, Например, если администратор хочет запретить создавать файлы в определенном каталоге, то он не должен никому давать право управления и право модификации. Это не äàåò возможности пользователям также записывать информацию в файлы и удалять файлы.
Такая схема именования также требует больших усилий от администратора при создания имен для служб и групп. Если в сети с 2-мя серверами имя службы или группы совпадает с таковым на другом сервере - это плохо. Каждый раз, когда пользователь запрашивает службу на одном сервере, будет вызываться и другой сервер.
Принтеры и коммуникационные службы, например, SNA-шлюзы, именуются и защищаются с помощью списков пользователей, имеющих права на работу с этими службами. Консоль сервера также защищается паролем, который надо ввести перед выполнением команд с консоли.
Система UNIX содержит средства автоматической установки, так что по этому показателю она превосходит многие другие сетевые ОС. Вам предоставляется возможность управлять сетью с любой рабочей станции (или даже с удаленного персонального компьютера) при помощи простой программы с механизмом меню. 4.4 Работа в сетях UNIX
Превратить UNIX-компьютер в файловый сервер относительно просто. Для этого достаточно использовать на нем программное обеспечение, которое будет принимать запросы от других рабочих станций, обрабатывать их и отвечать на эти запросы. При этом программное обеспечение файлового сервера будет всего лишь еще одной программой в многозадачной операционной системе, Если центральный процессор файлового сервера обладает достаточно высоким быстродействием, то одновременно с программным обеспечением файлового сервера на нем может быть запущена еще какая-нибудь программа. В Главе 2 проводилось обсуждение причин, по которым сетевые ОС LAN Manager и LAN Server представляют прекрасную основу для применений архитектуры клиент/сервер. Те же доводы для применения архитектуры клиент/сервер можно привести в пользу операционной системы UNIX.