Федеральное агентство по образованию РФ Государственное образовательное учреждение высшего профессионального образования «ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Факультет автоматики и вычислительной техники Кафедра информатики и проектирования систем «ПРАКТИЧЕСКОЕ ЗНАКОМСТВО С СИСТЕМОЙ UNIX» Отчет по лабораторной работе по курсу «Операционные системы» Студент группы 8В72 ___________________ М. В. Шевчик Проверил ассистент ___________________ Д. В. Сидоров Томск 2010 Цель работы Ознакомиться с операционной системой Unix, получить практические навыки работы в наиболее распространенном командном интерпретаторе bash, изучить принципы организации файловой системы Unix и базовых команд управления файлами. Задание Осуществить в локальной сети с помощью программы PuTTY через протокол ssh доступ к удаленному компьютеру (необходимые данные для доступа указывает преподаватель) под управлением ОС Linux в консольном режиме. Ознакомиться с перечнем основных команд, используемых пользователями ОС Linux при работе в системе. 4. Определить абсолютный путь своего домашнего каталога. g2u13@linux ~$ echo ~/ /home/users/g2u13 5. Определить значения следующих переменных окружения: PATH, MANPATH, PAGER. g2u13@linux ~$ echo $PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/users/g2u13/bin g2u13@linux ~$ echo $MANPATH g2u13@linux ~$ echo $PAGER 6. Определить границы файлового пространства, где система позволяет создавать собственные файлы и каталоги (возможно использование автоматического скрипта). g2u13@linux ~$ find -user g2u13 2>1.txt . ./tmp ./1.txt ./.bashrc 2 ./bash-users.txt ./.bash_logout ./.bash_history ./newfile ./.inputrc ./newdir ./Maildir ./Maildir/cur ./Maildir/new ./Maildir/tmp ./.zshrc ./.bash_profile 7. Проверить, возможно ли вмешательство в личное файловое пространство другого пользователя. g2u13@linux ~$ cd ../ g2u13@linux /home/users$ cd g2u1 -bash: cd: g2u1: Permission denied 8. Ознакомиться с командами определения прав доступа к файлам и их изменения (команды id, groups, ls -l, stat, chmod, chown, chgrp, umask). id и groups в пункте 10 stat выводит информацию о файле (размер, права доступа, штампы времени и т. п.) g2u13@linux ~$ stat bash-users.txt 3 File: `bash-users.txt' Size: 8352 Blocks: 24 Device: 805h/2053d IO Block: 4096 regular file Inode: 3149 Links: 1 Access: (0600/-rw-------) Uid: ( 1037/ g2u13) Gid: ( 100/ users) Access: 2010-02-27 10:45:05.000000000 +0600 Modify: 2010-02-27 10:45:05.000000000 +0600 Change: 2010-02-27 10:45:05.000000000 +0600 chmod измение прав доступа к заданному файлу g2u13@linux ~$ chmod o-r tmp chown задать для файла его владельца и группу. сhgrp задать для файла группу umask без параметров выводит маску или задает ее из переданного параметра. 9. Найти запись в файле /etc/passwd, соответствующую вашему регистрационному имени. g2u13@linux ~$ grep 'g2u13' /etc/passwd g2u13:x:1037:100::/home/users/g2u13:/bin/bash 10. Определить свой UID, узнать, к каким группам относится ваше регистрационное имя, объяснить вывод команд id, groups. g2u13@linux ~$ groups users g2u13@linux ~$ id uid=1037(g2u13) gid=100(users) groups=100(users) id выводит идентификатор текущего пользователя (или заданного) и его групп. 4 groups выводит список групп для текущего или заданного пользователя. 11. Определить список групп, в которые входит пользователь root. g2u13@linux ~$ groups root root : root 12. Узнать, какими правами доступа обладают вновь создаваемые файлы и каталоги (т. е. создать новый файл и новый каталог, и просмотреть для них права доступа). g2u13@linux ~$ mkdir newdir g2u13@linux ~$ touch newfile g2u13@linux ~$ ls -l total 12 drwx------ 5 g2u13 users 120 Jan 30 2008 Maildir/ -rw------- 1 g2u13 users 8352 Feb 27 10:45 bash-users.txt drwx------ 2 g2u13 users 48 Mar 2 09:00 newdir/ -rw------- 1 g2u13 users 0 Mar 2 09:00 newfile 13. Определить значение umask, при котором создаваемые файлы и каталоги будут недоступны для чтения, записи и исполнения никому, кроме владельца. g2u13@linux ~$ umask 0077 g2u13@linux ~$ umask 0077 g2u13@linux ~$ ls -l total 12 drwx------ 5 g2u13 users 120 Jan 30 2008 Maildir/ -rw------- 1 g2u13 users 8352 Feb 27 10:45 bash-users.txt 5 drwxr-xr-x 2 g2u13 users 48 Mar 2 09:04 newdir/ -rw-r--r-- 1 g2u13 users 0 Mar 2 09:04 newfile 14. Сделать свой домашний каталог видимым для всех пользователей группы users. g2u13@linux ~$ chmod g+rx ~/ g2u13@linux ~$ stat ~/ File: `/home/users/g2u13/' Size: 272 Blocks: 0 Device: 805h/2053d IO Block: 4096 directory Inode: 1752 Links: 3 Access: (0751/drwxr-x--x) Uid: ( 1037/ g2u13) Gid: ( 100/ users) Access: 2010-03-02 08:51:56.000000000 +0600 Modify: 2010-02-27 12:00:36.000000000 +0600 Change: 2010-03-02 08:54:54.000000000 +0600 15. Создать в домашнем каталоге подкаталог tmp, файлы в котором сможет создавать, удалять и переименовывать любой, входящий в группу users, при этом содержимое этого подкаталога не должно быть видимым всем прочим пользователям. g2u13@linux ~$ umask 0022 g2u13@linux ~$ rmdir tmp g2u13@linux ~$ mkdir tmp g2u13@linux ~$ ls -ld tmp drwxr-xr-x 2 g2u13 users 48 Mar 2 09:11 tmp/ g2u13@linux ~$ chmod o-r tmp g2u13@linux ~$ ls -ld tmp 6 drwxr-x--x 2 g2u13 users 48 Mar 2 09:11 tmp/ g2u13@linux ~$ chmod g+rwx tmp g2u13@linux ~$ chmod o-x tmp g2u13@linux ~$ stat tmp File: `tmp' Size: 48 Blocks: 0 Device: 805h/2053d IO Block: 4096 directory Inode: 3219 Links: 2 Access: (0770/drwxrwx---) Uid: ( 1037/ g2u13) Gid: ( 100/ users) Access: 2010-03-02 09:11:49.000000000 +0600 Modify: 2010-03-02 09:11:49.000000000 +0600 Change: 2010-03-02 09:20:46.000000000 +0600 Выводы В данной работе мы приобрели практические навыки работы с оболочкой bash, а также работы с некоторыми часто используемыми командами и изучили тему, посвященную правам доступа к файлам и изменение этих прав. 7