Права доступа к файлам в ос мсвс

      Комментарии к записи Права доступа к файлам в ос мсвс отключены

В каждой многопользовательской системе полагается назначать права доступа к каталогам и файлам, чтобы доступ к информации имели только те, кому он разрешён.

Система безопасности ОС МСВС основана на правах доступа к объектам файловой системы — файлам и каталогам. У каждого каталога или файла есть один владелец и один групповой владелец. Группового владельца файла мы будем для краткости называть группой файла.

Словосочетание группа файла не означает, что файлы объединены в какие-то группы. Группа файла — это группа пользователей, которой даны некие специальные права на доступ к этому файлу.

Набрав команду ls -l в любом каталоге, мы увидим что-то подобное следующему:

-rw-r—r— 1 root root 433 Feb 2 10:30 acd.c

Первый столбец — это тип файла (первый символ) и права доступа (остальные девять символов). Затем указаны число жестких ссылок на файл, владелец и группа файла, размер файла в байтах, дата последней модификации в формате Месяц Число Год Время и имя файла. Год часто не указывается для тех файлов, которые были модифицированы в течение последних 12 месяцев.

Права доступа делятся на три части: права, данные, соответственно, владельцу файла(user), группе файла(group) и всем остальным (other). Таким образом, девять бит слова прав доступа делятся на три части по три бита:

rwx | rw- | r- -|

U g o

Часть, обозначенная буквой u (user), определяет права доступа владельца файла, буквой g — права доступа группы файла, буквой o — права всех остальных. Существуют права трех типов: на чтение (r, read), запись (w, write) и запуск на выполнение (x, execute). Пользователю, который хочет обратиться к файлу, даются права доступа либо владельца, либо группы файла, либо всех остальных. Права доступа проверяются так (рис.5.2, на примере слова прав доступа rwxrw-r—):


Рис.5.2. Алгоритм получения доступа к файлу.

Когда процесс, работающий от имени пользователя, пытается получить доступ к файлу, система выясняет, является ли он владельцем файла. Если является, то он получает права доступа, определенные для владельца файла. Если он — не владелец, но входит в группу, которая является группой файла, то он получает права доступа, определенные для группы файла. Если он не относится ни к одной из этих двух категорий, он получает права, определенные для всех остальных. Права разных категорий пользователей не складываются: если доступ к файлу хочет получить его владелец, и он входит в группу файла, но права группы более широкие, чем права владельца (например, слово прав доступа r-xrwxr—), то он все равно получит права владельца (в последнем примере — r-x). Для большинства файлов и каталогов права их владельца обычно шире, чем у группы.

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

— мнемоническое обозначение слова прав доступа: rwxrw-r—

— двоичное представление слова прав доступа: 111 110 100

— десятичное представление слова прав доступа: 7 6 4

В документации часто встречается требование при установке какой-либо программы установить для некоторого каталога права доступа 755. Имеются в виду права rwxr-xr-x, что соответствует полному доступу владельцу и доступу на чтение и запуск группе и всем остальным.

Право доступа в отношении каталога определяется как право поиска в каталоге, что на практике означает право на чтение индексных дескрипторов файлов и подкаталогов этого каталога. Действительно, возможность узнать, какие именно файлы есть в каталоге, определяется правом на чтение каталога. А вот более подробная информация о файлах (кто их хозяин, где лежат и т.п.) доступна только тем, кто имеет право на поиск в каталоге. Наличие или отсутствие права поиска в каталоге не влияет на права пользователя root: ему разрешен поиск в любом каталоге.

Старшие три бита слова прав доступа относятся к запуску файла. Вот как выглядит слово прав доступа:

Su sg t rwx r-wx rwx

Старшие три бита — это бит установки владельца при запуске файла (suid), бит установки группы (sgid) при запуске файла и бит запрета выгрузки файла на диск при выполнении (t).

Для каталога биты suid и sgid имеют другое значение. По умолчанию при создании файла он наследует владельца и группу от процесса, который его создал. Аналогичное правило распространяется и на каталоги. Однако если в правах доступа к каталогу установлен бит suid, то созданный в нем файл или подкаталог будет принадлежать не владельцу по умолчанию, а владельцу каталога с битом suid. Это правило не работает для систем ОС МСВС, хотя справедливо для некоторых других систем ОС UNIX. В ОС МСВС это правило распространяется только на группу файла, но не на владельца. То есть владельцем нового файла будет владелец создавшего его процесса, независимо от наличия бита suid у каталога, где создан файл. Но если каталог имеет установленный бит sgid, то группой нового файла станет группа создателя каталога.

Бит запрета выгрузки файла на диск при выполнении (t, sticky bit) в старых версиях ОС UNIX использовался для указания того, что при выполнении программы, записанной в этом файле, её страницы запрещено выгружать на диск. В настоящее время sticky bit используется для каталогов, с тем, чтобы указать особые условия удаления файлов из каталога. Если sticky bit установлен для каталога, то все пользователи, кроме root, могут удалять из каталога только те файлы, которые им принадлежат, независимо от прав доступа к каталогу. В разных системах ОС UNIX он может интерпретироваться по-разному, поэтому смотрите для уточнений руководство по правам доступа к файлам и каталогам (man sticky и man chmod)в выбранной Вами ОС.

CHMOD – изменение режима доступа к файлу.

Синтаксис:

chmod [параметры] права файл…

Описание:

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

Пример:

Установить для владельца файла /etc/samba/smb.conf разрешения на его чтение-запись, членам группы владельца файла и всем остальным разрешить только доступ по чтению файла /etc/samba/smb.conf:

chmod 644 /etc/samba/smb.conf

Статьи к прочтению:

Права доступа к файламlinux


Похожие статьи: