
- •«Практическое знакомство с операционной системой 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.
7. Проверить, возможно ли вмешательство в личное файловое пространство другого пользователя.
Попробуем перейти в домашние каталоги других пользователей.
g1u18@linux ~$ cd /home/users/g1u6
-bash: cd: /home/users/g1u6: Permission denied
g1u18@linux ~$ cd /home/users/g2u14
-bash: cd: /home/users/g2u14: Permission denied
g1u18@linux ~$ cd /home/users/g3u2
-bash: cd: /home/users/g3u2: Permission denied
g1u18@linux ~$
Можно сделать вывод, что доступ всем пользователям и пользователям из нашей группы туда закрыт.
8. Ознакомиться с командами определения прав доступа к файлам и их изменения (команды id, groups, ls -l, stat, chmod, chown, chgrp, umask).
id
Данная команда выводит свойства текущего (если команда запущена без параметров) или любого другого пользователя (если с именем пользователя в качестве параметра).
groups
Эта команда является частым случаем предыдущей. Она выводит группы, к которым принадлежит текущий (если команда запущена без параметров) или любой другой пользователь (если с названием группы в качестве параметра).
stat
Выводит содержимое полей дескриптора файла или статус файловой системы. Пример использования:
g1u18@linux ~$ ls -l
total 4
drwx------ 5 g1u18 users 120 Jan 30 2008 Maildir/
-rw------- 1 g1u18 users 18 Feb 7 17:01 fl
drwx------ 2 g1u18 users 48 Feb 10 08:25 test/
drwx------ 2 g1u18 users 48 Feb 10 08:36 tmp/
g1u18@linux ~$ stat fl
File: `fl'
Size: 18 Blocks: 8 IO Block: 4096 regular file
Device: 805h/2053d Inode: 999 Links: 1
Access: (0600/-rw-------) Uid: ( 1017/ g1u18) Gid: ( 100/ users)
Access: 2012-02-10 07:08:35.000000000 +0600
Modify: 2012-02-07 17:01:39.000000000 +0600
Change: 2012-02-07 17:01:39.000000000 +0600
g1u18@linux ~$
Как можно заметить, была выведена подробная характеристика файла. В том числе информация, связанная с устройством, где он хранится.
chmod
Синтаксис – chmod <8битные права> <файл/каталог>.
Команда для изменения прав доступа к файлу.
chown
Синтаксис – chown <пользователь> <файл/каталог>.
Команда для изменения владельца файла. Однако данную операцию может выполнить только привилегированный пользователь:
g1u18@linux ~$ chown root fl
chown: changing ownership of `fl': Operation not permitted
Отсюда следует вывод, что мой пользователь не может совершать такую операцию.
chgrp
Синтаксис – chgrp <группа> <файл/каталог>.
Команда меняет принадлежность к группе для файла или каталога.
umask
Синтаксис – umask (<маска>)
Команда для изменения маски прав доступа создаваемых файлов и каталогов. Если параметр не задан, то выводится текущая маска:
g1u18@linux ~$ umask
0077
9. Найти запись в файле /etc/passwd, соответствующую вашему регистрационному имени.
Каждая запись в файле /etc/passwd представлена в виде строчки. Для того, что бы найти необходимую нам запись, можно воспользоваться поиском по имени пользователя с помощью кооманды grep:
g1u18@linux ~$ grep ‘g1u18’ /etc/passwd
g1u18:x:1017:100::/home/users/g1u18:/bin/bash
g1u18@linux ~$
Разберём подробно выведенную запись:
g1u18 – регистрационное имя пользователя
x – зашифрованный пароль
1017 – значение UID
100 – значение GID основной группы
/home/users/g1u18 – домашний каталог
/bin/bash – командная оболочка пользователя
Пустая строка между символами «::» - возможный, но не обязательный комментарий к записи.