
- •«Практическое знакомство с операционной системой unix»
- •Цель работы
- •Задание
- •Ход работы
- •1. Ознакомиться с теоретическим материалом.
- •2. Зарегистрироваться в системе под именем, выданным преподавателем.
- •4. Определить абсолютный путь своего домашнего каталога.
- •5. Определить значения следующих переменных окружения: path, manpath, pager.
- •6. Определить границы файлового пространства, где система позволяет создавать собственные файлы и каталоги (возможно использование автоматического скрипта).
- •7. Проверить, возможно ли вмешательство в личное файловое пространство другого пользователя.
- •8. Ознакомиться с командами определения прав доступа к файлам и их изменения (команды id, groups, ls -l, stat, chmod, chown, chgrp, umask).
- •9. Найти запись в файле /etc/passwd, соответствующую вашему регистрационному имени.
- •10. Определить свой uid, узнать, к каким группам относится ваше регистрационное имя, объяснить вывод команд id, groups.
- •11. Определить список групп, в которые входит пользователь root.
- •12. Узнать, какими правами доступа обладают вновь создаваемые файлы и каталоги (т. Е. Создать новый файл и новый каталог, и просмотреть для них права доступа).
- •13. Определить значение umask, при котором создаваемые файлы и каталоги будут недоступны для чтения, записи и исполнения никому, кроме владельца.
- •14. Сделать свой домашний каталог видимым для всех пользователей группы users.
10. Определить свой uid, узнать, к каким группам относится ваше регистрационное имя, объяснить вывод команд id, groups.
Для определения нужных данных, воспользуемся командами id и groups без параметров:
g1u18@linux ~$ id
uid=1017(g1u18) gid=100(users) groups=100(users)
g1u18@linux ~$ groups
users
g1u18@linux ~$
При помощи первой команды мы получили значения UID (1017), GID (100) и основную группу пользователя – users. С помощью команды groups мы получили список всех групп, к которым принадлежит пользователь g1u18. Это, опять же, только группа users.
11. Определить список групп, в которые входит пользователь root.
Проделываем те же операции для пользователя root, для чего исполним команды id и groups с параметром root:
g1u18@linux ~$ id root
uid=0(root) gid=0(root) groups=0(root)
g1u18@linux ~$ groups root
root : root
g1u18@linux ~$
Так же определим UID (0), GID (0) и основную группу (root). Пользователь root так же входит только в одну группу.
12. Узнать, какими правами доступа обладают вновь создаваемые файлы и каталоги (т. Е. Создать новый файл и новый каталог, и просмотреть для них права доступа).
Выведем список файлов в домашнем каталоге с показыанными правами доступа:
g1u18@linux ~$ ls -l
total 0
drwx------ 5 g1u18 users 120 Jan 30 2008 Maildir/
Создадим новый каталог:
g1u18@linux ~$ mkdir test
И файл:
g1u18@linux ~$ touch fl
Снова посмотрим список файлов с правами доступа:
g1u18@linux ~$ ls -l
total 4
drwx------ 5 g1u18 users 120 Jan 30 2008 Maildir/
-rw------- 1 g1u18 users 0 Feb 7 17:01 fl
drwx------ 2 g1u18 users 48 Feb 7 17:01 test/
g1u18@linux ~$
Как видно из исполнения команды, новый каталог имеет права, разрешающие чтение, запись и исполнения пользователю, создавшему его. Новый файл имеет те же права, кроме права исполнения.
13. Определить значение umask, при котором создаваемые файлы и каталоги будут недоступны для чтения, записи и исполнения никому, кроме владельца.
Права доступа можно определить в числовой форме путем суммирования восьмеричных значений отдельных битов прав доступа:
400 – владелец имеет право на чтение;
200 – владелец имеет право на запись;
100 – владелец имеет право на выполнение;
040 – группа имеет право на чтение;
020 – группа имеет право на запись;
010 – группа имеет право на выполнение;
004 – остальные имеют право на чтение;
002 – остальные имеют право на запись;
001 – остальные имеют право на выполнение.
Маска прав доступа определяет, какие права должны быть удалены из полного набора прав, т. е. маска прав доступа является обратным значением прав доступа по умолчанию. Для того, что бы сбросить права для всех пользователей, кроме создателя, нужно использовать маску 077. Проверим это на практике:
g1u18@linux ~$ umask 077
g1u18@linux ~$ mkdir test
g1u18@linux ~$ ls -l
total 4
drwx------ 2 g1u18 users 48 Feb 10 08:25 test/
Действительно, только создатель папки обладает всеми правами. Пользователи группы и все остальные пользователи никакими правами по отношению к папке не обладают.