Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла.



Файлы в UNIX имеют двух владельцев: пользователя (user owner) и груп­пу (group owner). Важной особенностью является то, что владелец-пользователь может не являться членом группы, владеющей файлом. Это дает большую гибкость в организации доступа к файлам. Совместное пользование файлами можно организовать практически для любого соста­ва пользователей, создав соответствующую группу и установив для нее права на требуемые файлы. При этом для того чтобы некий пользователь получил доступ к этим файлам, достаточно включить его в группу-владельца, и наоборот - исключение, из группы автоматически изменяет для пользователя права доступа к файлам.

Для определения владельцев файла достаточно посмотреть подробный листинг команды Is -l. Третья и четвертая колонки содержат имена вла­дельца-пользователя и владельца-группы, соответственно Владельцем-пользователем вновь созданного файла является пользователь, который создал файл. Порядок назначения владельца-группы зависит от конкретной версии UNIX. Например, в SCO UNIX владельцем-группой является первичная группа пользователя, создавшего файл, а в Digital UNIX владелец-группа наследуется от владельца группы — каталога, в ко­тором создается файл.

Для изменения владельца файла используется команда chown(l). В качестве параметров команда принимает имя владельца-пользователя и список фай­лов, для которых требуется изменить данный атрибут. Например, следующая команда установит пользователя sergey владельцем файлов client.c и server.c: $chown sergey cliemt.c server.c

Изменение владельца-группы производится командой chgrp(l). Как и chown(l), в качестве параметров команда принимает имя владельца-группы и список файлов, для которых требуется изменить данный атрибут. На­пример, для установки группы staff в качестве владельца всех файлов те­кущего каталога, необходимо задать следующую команду: $ chgrp staff *

 

UNIX поддерживает три типа прав доступа для каждого класса: на чтение (read, обозначается символом r), на запись (write, - w) и на выполнение (execute, - х).С помощью команды Is -l можно получить список прав доступа к файлу.

User access(u)Для владельца-пользователя файла

Group access (g)Для членов группы, являющейся владельцем файла

Other access(o)Для остальных пользователей

кроме суперпользователя UNIX поддерживает три типа прав доступа для каждого класса: на чтение (read, обозначается символом r), на запись (write, w) и на выполнение (execute, х).С помощью команды Is -lможно получить список прав доступа к файлу:

Права доступа для каталогов не столь очевидны. Это в первую очередь связано с тем, что система трактует операции чтения и записи для ката­логов отлично от остальных файлов. Право чтения каталога позволяет получить имена (и только имена) файлов, находящихся в данном каталоге.Чтобы получить дополнительную информацию о файлах   каталога(например, подробный листинг команды Is -l), системе придется "заглянуть" в метаданные файлов, что требует права на выполнения для каталога.Право на выполнения также потребуется для каталога, в который вы
захотите перейти (т. е. сделать его текущим) с помощью команды cd (1).Это же право нужно иметь для доступа ко всем каталогам на пути к указанному. Например, если вы установите право на выполнения для всех пользователей в одном из своих подкаталогов, он все равно останется не доступным, пока ваш домашний каталог не будет иметь такого же права.
Права r и х действуют независимо, право х для каталога не требует наличия права r, и наоборот. Комбинацией этих двух прав можно добиться ин­тересных эффектов, например, создания "темных" каталогов, файлы кото­рых доступны только в случае, если пользователь заранее знает их имена,
поскольку получение списка файлов таких каталогов запрещено. Создание и удале­ние файлов в каталоге требуют изменения его содержимого, и, следователь­но, права на запись в этот каталог. Самое важное, что при этом не учиты­ваются права доступа для самого файла. То есть для того, чтобы удалить не­который файл из каталога, не обязательно иметь какие-либо права доступа к этому файлу, важно лишь иметь право на запись для каталога, в котором находится этот файл.

Дополнительные атрибуты также устанавливаются утилитой chmod(l)

Установка атрибута Sticky bit (действительное название — save text mode, код t) –позволяет сохранить образ выполняемого файла в памяти после завершения выполнения

Set UID, SUID –установить UID процесса при выполнении

(код s). Set GID, SGID-Установить GID процесса при выполнении (код s) Блокирование – установить обязательное блокирование файла(код 1).


Дата добавления: 2018-05-09; просмотров: 302; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!