- •«Практическое знакомство с операционной системой 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.
4. Определить абсолютный путь своего домашнего каталога.
Для определения абсолютного пути своего домашнего каталога выполним команду cd без параметра, которая изменит путь на домашний каталог. Затем воспользуемся командой pwd, которая выведет текущий абсолютный путь.
g1u11@linux ~$ cd
g1u11@linux ~$ pwd
/home/users/g1u11
g1u11@linux ~$
Следовательно, абсолютный путь моего домашнего каталога «/home/users/g1u11».
5. Определить значения следующих переменных окружения: path, manpath, pager.
Для определения значения переменных используем команду вывода echo.
g1u18@linux ~$ echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/users/g1u18/bin
g1u18@linux ~$ echo $MANPATH
g1u18@linux ~$ echo $PAGER
g1u18@linux ~$
Можно сделать вывод, что переменная PATH содержит несколько путей, а MANPATH и PAGER – пустые строки.
6. Определить границы файлового пространства, где система позволяет создавать собственные файлы и каталоги (возможно использование автоматического скрипта).
Для выполнения задания перейдём в корневой каталог и посмотрим список файлов с их правами доступа:
g1u18@linux /$ ls -l
total 84
drwxr-xr-x 2 root root 2064 Jan 24 2008 bin/
drwxr-xr-x 3 root root 592 Feb 15 2008 boot/
drwxr-xr-x 11 root root 68608 Feb 10 02:01 dev/
drwxr-xr-x 57 root root 4504 Feb 10 07:11 etc/
drwxr-xr-x 8 root root 176 Feb 12 2008 home/
drwxr-xr-x 2 root root 48 Jun 3 2005 initrd/
drwxr-xr-x 8 root root 3792 Jun 29 2010 lib/
drwxr-xr-x 4 root root 96 Jan 24 2008 mnt/
drwxr-xr-x 2 root root 48 Jun 3 2005 opt/
dr-xr-xr-x 78 root root 0 Feb 10 02:00 proc/
drwx------ 10 root root 432 Feb 10 07:29 root/
drwxr-xr-x 2 root root 4632 Jan 12 2010 sbin/
drwxr-xr-x 11 root root 0 Feb 10 02:00 sys/
drwxrwxrwt 82 root root 2128 Feb 10 00:01 tmp/
drwxr-xr-x 13 root root 312 Jan 24 2008 usr/
drwxr-xr-x 17 root root 408 Jun 29 2010 var/
Как видно из списка, под моим пользователем создавать папки и файлы возможно только в каталоге /tmp. Если посмотреть права доступа в каталоге /tmp, то выяснится, что дальше продолжить путь по каталогам мы тоже не сможем. Как известно, /tmp – каталог для временных файлов.
Можно написать автоматический скрипт, используя команды ls, grep, sed и оператор перенаправления потока вывода «|»:
Mix@Mix-PC /etc $ $ ls -RFla | grep '/' | sed -e '/\.\//!d; /^l/d; /\.\.\/$/d; /$/N; s/:\n/\t\t\t ->\t\t\t /; s/[0-9]* [^ ]* [^ ]* [^ ]* \.\/$//; /\.\.\/$/d; s/[0-z.\-_]*\/\([0-z.\-_]*\)\t/|---\1/g; s/[0-z.\-_]*\// /g'
|---alternatives -> drwxr-xr-x+ 1 Mix root
|---defaults -> drwxrws---+ 1 Mix root
|---etc -> drwxrws---+ 1 Mix root
|---profile.d -> drwxrws---+ 1 Mix root
|---skel -> drwxrws---+ 1 Mix root
|---fstab.d -> drwxrwxrwt+ 1 Mix None
|---postinstall -> drwxr-xr-x+ 1 Mix root
|---preremove -> drwxrws---+ 1 Mix root
|---profile.d -> drwxr-xr-x+ 1 Mix None
|---setup -> drwxr-xr-x+ 1 Mix root
|---skel -> drwxr-xr-x+ 1 Mix None
В данном случае использовался другой компьютер, где пользователь имеет права root’а. Т.е. имеет право создавать файлы и папки везде.
