Права доступа к файлам в ОС UNIX
Бит чтения для всех типов файлов имеет одно и то же значение: он позволяет читать содержимое файла (получать листинг каталога командой ls). Бит записи также имеет одно и то же значение: он позволяет писать в этот файл, включая и перезапись содержимого. Если у пользователя отсутствует право доступа на запись в каталоге, где находится данный файл, то пользователь не сможет этот файл удалить, а также пользователь не сможет создавать и удалять в нем файлы. Если для некоторого файла установлен бит выполнения, то файл может выполняться как команда. В случае установки этого бита для каталога, этот каталог можно сделать текущим (перейти в него, например, командой cd), но не означает, что возможно выполнение находящихся в нем файлов Установленный бит SUID означает, что доступный пользователю на выполнение файл будет выполняться с правами (с эффективным идентификатором) владельца, а не пользователя, вызвавшего файл (как это обычно происходит). Установленный бит SGID означает, что доступный пользователю на выполнение файл будет выполняться с правами (с эффективным идентификатором) группы-владельца, а не пользователя, вызвавшего файл (как это обычно происходит). Следует еще раз отметить, что с каждым процессом UNIX связаны два идентификатора: пользователя, от имени которого был создан этот процесс, и группы, к которой принадлежит данный пользователь. Эти идентификаторы носят название реальных идентификаторовпользователя: Real User ID, RUID и реальных идентификаторов группы: Real Group ID, RGID. Однако при проверке прав доступа к файлу используются не эти идентификаторы, а так называемые эффективные идентификаторыпользователя: Effective User ID, EUID и эффективные идентификаторы группы: Effective Group ID, EGID. Введение эффективных идентификаторов позволяет процессу выступать в некоторых случаях от имени пользователя или группы, отличных от тех, которые ему достались при рождении. В исходном состоянии эффективные идентификаторы совпадают с реальными. Чтобы реализовать смену прав кроме перечисленных ранее прав доступа, файл имеет два признака разрешения смены идентификатора – Set User ID on execution (SUID) и Set Group ID on execution (SGID), которые разрешают смену идентификаторов пользователя и группы при выполнении данного файла. Их существование обусловлено тем, что некоторые программы требуют для своей работы привилегий пользователя root. Например команда passwd(находится/usr/bin/passwd), с помощью которой пользователь меняет свой пароль, обращается к файлу,принадлежащему суперпользователю /etc/passwd, поэтому у нее установлен бит SUID. Она модифицирует файл строго определенным пользователем образом и завершается. Если бит SGID установлен для каталога, то создаваемые в нем файлы будут принимать идентификатор группы каталога, а не группы, в которую входит владелец файла. Это упрощает пользователям, принадлежащих к одной группе, совместный доступ к каталогу. Применение прав доступа SUID и SGID чревато опасными последствиями – при некорректном завершении программы, запущенной обычным пользователем и получившей права пользователя root, возможна ситуация, когда права root останутся у этого пользователя. Если нужны привилегированные права, то лучше пользоваться программой sudo (su) – смены текущего пользователя. Для расчета прав доступа необходимо сложить восьмеричные значения всех необходимых установленных битов. В результате получится четырехзначное восьмеричное число. Если старший разряд имеет значение 0, его можно не указывать. Например, если необходимо задать права доступа на чтение, запись и выполнение для владельца, на чтение и выполнение для группы и на выполнение для всех остальных пользователей, получаем следующее восьмеричное значение:
Итак, соответствующие права доступа – 751. В длинном листинге эти права будут представлены в виде "-rwxr-x--x" (при "сложении" буквы с дефисом в символьном представлении остается буква). Полное право доступа всех задается числом 777 (111 111 111). Наиболее часто используется маска 644 (110 100 100), разрешающая чтение и модификацию файла для владельца, и только чтение для других пользователей. Для установки (изменения) прав доступа к файлу используется команда chmod. Права доступа к файлу может изменять или устанавливать только его владелец или пользователь root. Права доступа могут задаваться как абсолютным значением (восьмеричным числом, расчет которого выполняется в соответствии с табл. 4), так и относительным изменением прав при помощи специальных символов.
Популярное: Почему стероиды повышают давление?: Основных причин три... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1161)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |