Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла.
Файлы в 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!