Лабораторная работа. Управление правами доступа - efanov/mephi GitHub Wiki

Управление доступом к файлам

Выполните следующие задания от имени обычного пользователя (не root!).

  • Работа выполняется: только на виртуальной машине.
  • Навыки: управление доступом к файлам.
  • Изучаемые команды: chmod, chown, chgrp, umask, su.
  1. Перейдите в домашний каталог.

  2. Создайте каталог test и перейдите в него.

  3. Создайте файл file, определите его права доступа.

  4. Запретите любые действия с файлом file.

  5. Попробуйте записать строку "тест" в файл file. В доступе должно быть отказано.

  6. Попробуйте прочитать файл file. В доступе должно быть отказано.

  7. Измените права доступа для file так, чтобы только текущий пользователь мог осуществлять в него запись. Команда ll должна показывать права --w-------.

  8. Запишите строку "test" в файл file. Попробуйте прочитать содержимое файла - в доступе должно быть отказано.

  9. Разрешите группе текущего пользователя читать содержимое файла. Группа текущего пользователя обычно совпадает с именем пользователя. Команда ll должна показывать права --w-r-----.

  10. Попробуйте прочитать содержимое файла file. В доступе должно быть отказано.

  11. Разрешите текущему пользователю читать содержимое файла file. Команда ls -l должна показывать права -rw-r-----.

  12. Попробуйте прочитать содержимое файла file - должна появиться ранее добавленная туда строка "test".

  13. Создайте каталог dir. Создайте в этом каталоге файл new_file, запишите в него текст "file 2".

  14. Просмотрите содержимое каталога dir. Должен появиться файл new_file.

  15. Измените права доступа на каталог dir так, чтобы пользователи не имели права на исполнение (x). Попробуйте просмотреть содержимое файла new_file в каталоге dir. В доступе должно быть отказано. Попробуйте удалить этот файл - в доступе также должно быть отказано.

  16. Попробуйте изменить владельца файла file на root. Изменить группу владельца на root. В обоих операциях должно быть отказано - обычный пользователь не может изменить владельца файла.

  17. При помощи команды umask задайте такую маску, чтобы при создании файла никто не имел к нему никакого доступа, кроме владельца. При создании нового файла (команда touch file1) права доступа данного файла будут следующими: -rw-------.

  18. При помощи команды umask задайте такую маску, чтобы при создании файла все имели к данному файлу полный доступ. При создании нового файла (команда touch file2) права доступа данного файла будут следующими: -rw-rw-rw-.

  19. Откройте второе окно с терминалом и выполните вход от имени системного администратора (root):

$ su
<введите пароль root>
# 
  1. От имени системного администратора измените владельца файла file на root. Измените права доступа так, чтобы только владелец мог прочитать файл. По окончании изменений выйдите из сеанса root, выполнив команду exit.

  2. Попробуйте прочитать файл file от имени обычного пользователя (не root!). В доступе должно быть отказано.

  3. От имени системного администратора измените права доступа на файл так, чтобы группа могла прочитать данный файл. По окончании изменений выйдите из сеанса root, выполнив команду exit.

  4. Попробуйте прочитать файл file от имени обычного пользователя. Доступ должен быть разрешён.

Оформление результатов лабораторной работы

Результатом выполнения лабораторной работы должен быть каталог test с файлами, созданными в данной лабораторной работе. Для завершения лабораторной работы загрузите в собственный репозиторий на GitHub выводы команд:

  • ls -lR
  • history