Сценарий рассматривает базовые права доступа в UNIX, их просмотр и изменения.
Начальные условия: Командная строка после входа в систему.
1. Для просмотра прав доступа можно использовать команду ls с ключом вывода расширенной информации: ls -l.
2. user@desktop ~ $ ls -l3. drwxr-xr-x 1 user users 22 Дек 19 11:18 test/-rw-r--r-- 1 user users 90 Сен 19 00:20 test.txt Особый интерес представляют: первая колонка (права доступа), третья и четвётрая – владелец и группа владельцев соответственно.
4. Рассмотрим исполняемый файл ls -l /bin/bash.
5. user@desktop ~ $ ls -l /bin/bash-rwxr-xr-x 1 root root 746544 Дек 21 13:40 /bin/bash* Исполняемые файлы в UNIX определяются наличием специального бита прав доступа.
6. Для директории права на исполнения трактуются по-другому. Рассмотрим права директории /tmp ls -ld /tmp:
7. user@desktop ~ $ ls -ld /tmpdrwxrwxrwt 26 root root 5168 Дек 22 20:04 /tmp/ Директория имеет дополнительный sticky-bit, определающий права на создание и удаление файлов в директории.
8. Изменение файла с недостатком прав приводит к ошибке доступа. Например, команда: rm /bin/bash.
9. user@desktop ~ $ rm /bin/bash10. rm: удалить защищенный от записи обычный файл `/bin/bash'? yrm: невозможно удалить `/bin/bash': Permission denied Для всех файлов, на которые данный пользователь не имеет прав записи команда rm может выводить предупреждение об удалении.
11. Изменение прав доступа производится с помощью команды chmod. Для задания файлу прав только для чтения воспользуемся командой: chmod a=r test.txt.
user@desktop ~ $ chmod a=r test.txt 12. Для лишения всех прав группы владельцев и остальных пользователей воспользуемся командой: chmod go-rwx test.txt.
user@desktop ~ $ chmod go-rwx test.txt