Лабораторная работа. Управление правами доступа - 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 -lR
history