Лабораторная работа. Управление правами доступа - efanov/mephi GitHub Wiki
Управление доступом к файлам
Выполните следующие задания от имени обычного пользователя (не root!).
- Работа выполняется: только на виртуальной машине.
- Навыки: управление доступом к файлам.
- Изучаемые команды:
chmod,chown,chgrp,umask,su.
-
Перейдите в домашний каталог.
-
Создайте каталог
testи перейдите в него. -
Создайте файл
file, определите его права доступа. -
Запретите любые действия с файлом
file. -
Попробуйте записать строку "тест" в файл
file. В доступе должно быть отказано. -
Попробуйте прочитать файл
file. В доступе должно быть отказано. -
Измените права доступа для
fileтак, чтобы только текущий пользователь мог осуществлять в него запись. Командаllдолжна показывать права--w-------. -
Запишите строку "test" в файл
file. Попробуйте прочитать содержимое файла - в доступе должно быть отказано. -
Разрешите группе текущего пользователя читать содержимое файла. Группа текущего пользователя обычно совпадает с именем пользователя. Команда
llдолжна показывать права--w-r-----. -
Попробуйте прочитать содержимое файла
file. В доступе должно быть отказано. -
Разрешите текущему пользователю читать содержимое файла
file. Командаls -lдолжна показывать права-rw-r-----. -
Попробуйте прочитать содержимое файла
file- должна появиться ранее добавленная туда строка "test". -
Создайте каталог
dir. Создайте в этом каталоге файлnew_file, запишите в него текст "file 2". -
Просмотрите содержимое каталога
dir. Должен появиться файлnew_file. -
Измените права доступа на каталог
dirтак, чтобы пользователи не имели права на исполнение (x). Попробуйте просмотреть содержимое файлаnew_fileв каталогеdir. В доступе должно быть отказано. Попробуйте удалить этот файл - в доступе также должно быть отказано. -
Попробуйте изменить владельца файла
fileнаroot. Изменить группу владельца наroot. В обоих операциях должно быть отказано - обычный пользователь не может изменить владельца файла. -
При помощи команды
umaskзадайте такую маску, чтобы при создании файла никто не имел к нему никакого доступа, кроме владельца. При создании нового файла (командаtouch file1) права доступа данного файла будут следующими:-rw-------. -
При помощи команды
umaskзадайте такую маску, чтобы при создании файла все имели к данному файлу полный доступ. При создании нового файла (командаtouch file2) права доступа данного файла будут следующими:-rw-rw-rw-. -
Откройте второе окно с терминалом и выполните вход от имени системного администратора (
root):
$ su
<введите пароль root>
#
-
От имени системного администратора измените владельца файла
fileнаroot. Измените права доступа так, чтобы только владелец мог прочитать файл. По окончании изменений выйдите из сеансаroot, выполнив командуexit. -
Попробуйте прочитать файл
fileот имени обычного пользователя (неroot!). В доступе должно быть отказано. -
От имени системного администратора измените права доступа на файл так, чтобы группа могла прочитать данный файл. По окончании изменений выйдите из сеанса
root, выполнив командуexit. -
Попробуйте прочитать файл
fileот имени обычного пользователя. Доступ должен быть разрешён.
Оформление результатов лабораторной работы
Результатом выполнения лабораторной работы должен быть каталог test с файлами, созданными в данной лабораторной работе. Для завершения лабораторной работы загрузите в собственный репозиторий на GitHub выводы команд:
ls -lRhistory