Возможные действия над файлом. Указание прав доступа с помощью буквенной нотации. Указание прав доступа с помощью числовой нотации
⇐ ПредыдущаяСтр 5 из 5 Возможные действия над файлом Что можно делать с файлом после его создания? В первую очередь просматривать, или читать (r - read). Во вторую очередь, файл можно изменить (дописать, исправить, переименовать, переместить). Таким образом, мы можем говорить о возможности записи (w - write) в файл. Если файл является программой, то его содержимое представляет собой команды для процессора, выполнение которых приводит к тому или иному желаемому (мы надеемся) эффекту. Другими словами, некоторые файлы можно исполнять (x - execution). Указание прав доступа с помощью буквенной нотации Поскольку имеется три категории, претендующие на доступ к файлу (владелец, группа и остальные), и три возможных действия над файлом (чтение, запись и исполнение), то получается, что в атрибутах файла должно быть девять записей о правах, указывающих на то, кто и что может делать с этим файлом. Первые три записи — это права владельца, вторые три записи — права группы, последняя тройка — права по отношению к файлу всех остальных. r w x r w x r w x Если значение какого-либо права отрицательно для определенной категории, то вместо буквы ставится тире. Например, в примере ниже, все могут читать файл, но никто не может исполнить, и только один владелец может изменять файл: r w - r - - r - - Указание прав доступа с помощью числовой нотации Выразить права доступа к файлу можно не только с помощью букв. Если принять, что положительное значение права (доступ есть) обозначать единицей, а отрицательное (доступа нет) — нулем, то можно получить примерно следующую картину для файла, описанного выше: 1 1 0 1 0 0 1 0 0 Именно с помощью нулей и единиц хранятся данные в памяти компьютера, в том числе и права доступа. Под права выделяются 9 бит в атрибутах файла, каждый бит хранит ноль или единицу.
Однако запись из девяти символов достаточно длинная. Чтобы ее сократить используют преобразование двоичных чисел в восьмеричные. Триады нулей и единиц двоичной системы как раз составляют значения от 0 до 7 в восьмеричной системе счисления. Особенности доступа к каталогам Каталог — это особый тип файла. Его содержание — это список других файлов. Каталоги имеют те же «биты прав», что и остальные файлы. Однако то, что эти права означают может быть не таким простым для понимания. Если каталог можно читать (r), то это означает, что разрешено только узнать список файлов, содержащихся в этом каталоге. Только список файлов, но не их свойства (размер, права доступа и др. ). Если каталог можно исполнять (x), то это означает, что в него можно заходить и просматривать содержимое файлов (доступ к которым разрешен для данной категории), узнавать свойства (атрибуты) файлов. Можно изменить содержимое файла (если его разрешено менять), но не имя файла. Если каталог можно изменять (w), то это означает, что в нем можно изменять файлы, их имена, удалять их. Опасность! Это можно делать даже с файлами, доступ к которым запрещен для данной категории. Лечение! Вводят дополнительный t-бит. При его наличии пользователь может изменять только свои файлы. Следует понимать, что...
ПРАКТИЧЕСКАЯ ЧАСТЬ Под администратором системы сделать следующее:
groupadd real
4. gpasswd -a sv real gpasswd -a pupil7 real
6. mkdir /home/lesson chmod a+wt /home/lesson
cd /home/lesson
vim hello. c
#include < stdio. h> main() { printf(" hello world! \n " ); }
gcc hello. c
11. chown sv: real hello. c chown sv: real a. out
1. Перейдите в текстовый режим (терминал tty2). Войдите в систему под пользователем sv. Перейдите в каталог /home/lesson. cd /home/lesson 2. Сделайте тоже самое для пользователей pupil7 и test (терминалы соответственно tty3 и tty4). 3. Вернитесь к пользователю sv. 4. sv. Просмотрите содержимое каталога: ls -l Опишите кто является владельцем файлов a. out и hello. c, какой группе они принадлежат. 5. sv. Запретите «остальным» исполнять файл a. out: chmod o-x a. out 6. pupil7. Выполните файл a. out: . /a. out 7. test. Попытайтесь выполнить файл a. out также. Что произошло? Объясните разницу между пользователями test и pupil7 по отношению к данному файлу. Причина: ______________________________________________ 8. pupil7. Попытайтесь переименовать файл hello. c: mv hello. c hi. c
9. pupil7. Попытайтесь установить разрешение на изменение файла hello. c для группы: chmod g+w hello. c
10. sv. Выполните предыдущую команду в роли данного пользователя. Почему пользователь sv может менять значения прав файла hello. c, а pupil7 — нет? 11. pupil7. Переименуйте файл hello. c: mv hello. c hi. c 12. test. Создайте файл: cat > filetest
13. test. Просмотрите каталог: ls -l
cat filetest 14. test. Разрешите запись группе и запретите всё для «остальных»: chmod 660 filetest 15. sv. Попытайтесь прочитать файл: cat filetest
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|