Лабораторные работы «операционные системы и среды» линукс ~ linux



страница2/3
Дата23.11.2016
Размер0.86 Mb.
Просмотров1431
Скачиваний1
ТипПрактическая работа
1   2   3

chgrp root file

(где root название группы, а file имя файла для которого устанавливается группа) или



chgrp 0 file

(где 0 идентификатор группы, а file имя файла для которого устанавливается группа)


Рекурсивное изменение группы:

Изменить группу для всех файлов каталога и его подкаталогов (--recursive):



chgrp -R root ./Desktop/myFolder
Отслеживание вносимых командой chgrp изменений:

Информация в системе в большинстве случаев выводится при возникновении ошибок. Получить полный отчет (включает информацию о файлах, не подвергшихся изменениям) о действиях выполняемых командой chgrp (--verbose):



chgrp -vR users ./myFolder

Получить отчет о реальных изменениях группы для файлов:



chgrp -cR users ./myFolder


II. ИЗМЕНЕНИЕ ВЛАДЕЛЬЦА:

  • Каждому пользователю соответствует идентификатор, который можно просмотреть командой: cat /etc/passwd.

Например: alex:x:1000:100. Здесь первое число (1000) – числовой идентификатор пользователя, а второе число (100) – идентификатор основной группы, в состав которой входит пользователь.

  • Пользователь может изменить владельца файла, если он зарегистрирован под его именем или является суперпользователем.

Пример:

whoami

root

ls -l


- rw- r-- r-- 1 alex users … file

chown root file

(где root имя владельца, а file имя файла для которого устанавливается владелец) или



chown 0 file

(где 0 идентификатор владельца, а file имя файла для которого устанавливается владелец)


ИЗМЕНЕНИЕ ВЛАДЕЛЬЦА И ГРУППЫ:

Можно исключить использование команды chgrp командой: chown владелец:группа.

Поэтому не рекомендуется включать в имя пользователя или группы символ двоеточие. Если двоеточие имеется, то можно использовать обратный слэш. Например: chown alex:teacher:s.
Пример:

whoami


root

ls -l


- rw- r-- r-- 1 alex users … file

chown root:root file

ls -l


- rw- r-- r-- 1 root root … file

Если необходимо изменить только группу, то перед двоеточием имя пользователя не указывается (напр.,: chown :root file).


III. ПРАВА ДОСТУПА:

Для файла различают три категории пользователей:



Владелец u (их атрибуты символы 2 – 4)

Группа g (их атрибуты символы 5 – 7)

Остальные пользователи o (их атрибуты символы 8 – 10)
При этом файл может иметь атрибуты:

r read ~ чтение

w write ~ запись

x execute ~ выполнение

s или S suid (s если пользователь уже имел право на выполнение x, S если не имел)

s или S sgid (s если группа уже имела право на выполнение x, S если не имела)

t или T sticky bit (t если пользователь уже имел право на выполнение x, T если не имел)

Для файла и каталога значение атрибутов различается.




Суперпользователь может выполнять любые действия с любыми файлами, т.е. эти атрибуты не применимы к нему.

Атрибутам (r, w, x) соответствуют числа: на чтение 4, на запись 2, на выполнение 1. Владелец Группа Остальные пользователи:

rwx rwx rwx

4+2+1=7 4+2+1=7 4+2+1=7
Т.о. запись:

- rwx -w- --- 1 alex teachers … file

эквивалентна сумме чисел:

-7 2 0


и означает, что пользователь alex имеет права rwx, группа teachers право w, а все остальные пользователи никаких прав не имеют.
Используя числа можно составить любую комбинацию прав (атрибутов):

0 ---


1 --x

2 -w-


3 -wx

4 r--


5 r-x

6 rw-


7 rwx
ИЗМЕНЕНИЕ ПРАВ ДОСТУПА С ИСПОЛЬЗОВАНИЕМ СИМВОЛОВ:
chmod [ugo] [+-=] [rwxst]

Первая группа символов – категория пользователей, на которую необходимо воздействовать.

Вторая группа символов – добавление, удаление, конкретная установка (присвоение пользователей) атрибутов (прав).

Третья группа символов – атрибуты. категории


Пример:

ls –l


- rw- r-- r-- alex students … file

chmod g+w file

ls -l


- rw- rw- r-- alex students … file

Т.о. мы предоставили членам группы students право изменять файл.


Удалить это право можно командой:

chmod g-w file
Предоставим право изменять файл не только членам группы students, но и всем остальным пользователям:

chmod go+w file

Т.о. имеем:

- rw- rw- rw- alex students … file
Предоставим всем пользователям (владельцу, группе, остальным) права чтения и изменения файла:

chmod a=rw file //all
Удалим все права у всех пользователей:

chmod ugo= file

ls -l


- --- --- --- alex students … file
ИЗМЕНЕНИЕ ПРАВ ДОСТУПА С ИСПОЛЬЗОВАНИЕМ ЦИФР:
chmod n1n2n3 file

n1, n2 и n3 – числа от 0 до 7.

Каждое число соответствует устанавливаемым атрибутам для владельца, группы и остальных пользователей.
Пример:

ls -l


- rw- r-- r-- alex students … file

chmod 664 file

ls -l


- rw- rw- r-- alex students … file

Т.о. мы предоставили членам группы students право изменять файл.

Удалить это право можно командой:

chmod 644 file
Предоставим право изменять файл не только членам группы students, но и всем остальным пользователям:

chmod 666 file

Т.о. имеем:



- rw- rw- rw- alex students … file
Удалим все права у всех пользователей (изменять права сможет только суперпользователь):

chmod 000 file

ls -l


- --- --- --- alex students … file

Права можно изменять рекурсивно, напр.: chmod -R 777 ./myFolder.


УСТАНОВКА И СБРОС SUID:
chmod u[+-]s
Пример:

ls -l /usr/bin/passwd



- rws r-x r-x 1 root root … /usr/bin/passwd

Для команды passwd (смена пароля) установлен признак suid (на месте символа x), т.е. обычные пользователи могут запускать данную команду и получать на нее права пользователя root (иначе они не смогли бы изменять свои пароли). Для этого право x установлено для группы g, и остальных пользователей o.

ls -l

- rwx r-x r--1 alex teachers … file

chmod u+s file

ls -l


Т.о. каждый член группы teachers может запускать файл file на выполнение от имени alex. Другие пользователи системы этого сделать не могут (у них есть право r, но нет права x).
Удалить признак suid:

chmod u-s file

Чтобы все пользователи могли запускть файл file от имени alex необходимо установить права – rws r-x r-x.


УСТАНОВКА И СБРОС SGID:
chmod g[+-]s
Допустим в системе зарегистрировано два пользователя ann и alex.

Их основные группы ann и alex соответственно.

Если ann создаст файл file в каталоге группы admins, то для него будут установлены вледелец ann и группа ann.

- rwx rw- r-- ann ann … file

Т.о. другие члены группы admins не смогут изменять данный файл.

Ann может исправить ситуацию командой chgrp admins file (или chown :admins file).

- rwx rw- r-- ann admins … file

Поступать так всегда утомительно.


Поэтому для каталога можно установить признак sgid, т.е. файл сразу будет принадлежать той группе, которой принадлежит сам каталог (в нашем случае admins).
Установим признак sgid для каталога bin:

ls -lF


d rwx r-x r-x 11 alex admins … bin/

chmod g+s bin

ls –lF


d rwx r-S r-x 11 alex admins … bin/
Удалим признак sgid для каталога bin:

chmod g-s bin


УСТАНОВКА И СБРОС STICKY BIT:
chmod [+-] t

ls -l /



d rwx rwx rwt 17 root root … tmp
Любой пользователь может создавать файлы в каталоге /tmp. Т.о. каждый файл и подкаталог защищен от остальных пользователей посредством признака sticky bit. Удалять или переименовывать файлы могут только их владельцы.
Установить sticky bit:

ls -lF


d rwx rwx r-x 2 alex teachers … folder/

chmod +t folder

ls -lF


d rwx rwx r-t 2 alex teachers … folder/
Удалить sticky bit:

ls -lF


d rwx rwx r-t 2 alex teachers … folder/

chmod -t folder

ls -lF


d rwx rwx r-x 2 alex teachers … folder/
Для ускорения работы можно устанавливать (объединять) признаки suid, sgid, sticky bit с помощью цифр. Делается это путем сложения цифр 4, 2 и 1 соответственно.

0 сброс suid sgid и sticky bit;

1 установка sticky bit;

2 установка sgid;

3 установка sgid и sticky bit;

4 установка suid;

5 установка suid и sticky bit;

6 установка suid и sgid;

7 установка suid, sgid, sticky bit.
В большинстве случаев при работе с командой chmod четвертая цифра (сумма цифр) не указывается, т.е. она равна 0 (все признаки сброшены). Т.о. команда chmod 644 file эквивалентна команде chmod 0644 file (- rwr-- r--).
Напр., установим для файла признак suid, для этого используем цифру 4:

ls -l


- rwx r-x r-- 1 alex teachers … file

chmod 4754 file

ls -l

- rws r-x r-- 1 alex teachers … file

ПРАКТИЧЕСКАЯ ЧАСТЬ



  1. Создать виртуальную машину для запуска ОС Линукс.

  2. Запустить ОС Линукс.

  3. Запустить терминал Konsole.

  4. Определить путь к текущему каталогу.

  5. Перейти в каталог Desktop.

  6. Создать файл с именем в котором присутствует символ пробела my text.txt.

  7. Записать в данный файл текст: New commands: chgrp, chown, chmod.

  8. Создать жесткую ссылку my_h_link на файл my text.txt.

При необходимости воспользоваться man-страницей (справкой): man ln.

Для выхода из справки нажать клавишу Q.

  1. Отобразить информацию о правах доступа и владельцах ВСЕХ файлов и каталогов текущего каталога.

  2. Письменно расшифровать значения всех полей записи о файле my text.txt.

  3. Создать каталог myFolder.

  4. 12. Переместить файлы my text.txt и my_h_link в каталог myFolder.

  5. Просмотреть идентификаторы всех групп. Какой идентификатор соответствует группе root?

  6. Получить права суперпользователя.

  7. Перейти в каталог myFolder.

  8. Просмотреть содержимое текущего каталога командой ls -l.

  9. Используя идентификатор группы root установить группу root для файла my text.txt.

  10. Просмотреть идентификаторы всех пользователей (владельцев). Какой идентификатор соответствует пользователю под именем которого вы первоначально вошли в систему; суперпользователю?

  11. Используя идентификатор суперпользователя установить для файла my text.txt владельца root.

  12. Используя имена владельца и группы установить их первоначальные значения для файла my text.txt.

  13. Используя команду chmod и символы установить права чтения и записи для всех пользователей у файла my text.txt.

  14. Просмотреть содержимое текущего каталога командой ls -l.

  15. Используя команду chmod и цифры сбросить все права для всех пользователей у файла my text.txt.

  16. Просмотреть содержимое текущего каталога командой ls -l.

  17. Используя команду chmod и цифры установить права чтения и выполнения для всех пользователей у файлов my text.txt и my_h_link.

  18. Перейти в каталог верхнего уровня.

  19. Установить для каталога myFolder группу root.

  20. Установить для каталога myFolder признак sgid.

  21. Создать файл text.txt в каталоге myFolder. Какой группе файл text.txt автоматически стал принадлежать?

  22. Получить права обычного пользователя.

  23. Самостоятельно продолжить изучение среды KDE (K Desktop Environment).



По окончанию работы удалить все созданные файлы!!!

ПРАКТИЧЕСКАЯ ЧАСТЬ С ОТВЕТАМИ 1. 2. 3. 4. 5. 6. 7. 8. Создать виртуальную машину для запуска ОС Линукс. Запустить ОС Линукс. Запустить терминал Konsole. Определить путь к текущему каталогу. pwd //print working directory Перейти в каталог Desktop. cd Desktop Создать файл с именем в котором присутствует символ пробела my text.txt. touch “my text.txt” Записать в данный файл текст: Lab 5. New commands: chgrp, chown, chmod. vi “my text.txt” Набрать текст. Lab 5. New commands: chgrp, chown, chmod. Esc :wq Создать жесткую ссылку my_h_link на файл my text.txt. При необходимости воспользоваться man-страницей (справкой): man ln. Для выхода из справки нажать клавишу Q. ln “my text.txt” my_h_link 9. Отобразить информацию о правах доступа и владельцах ВСЕХ файлов и каталогов текущего каталога. ls -al 10. Письменно расшифровать значения всех полей записи о файле my text.txt. - rw- r-- r-- 2 user users 42 Ноя 29 16:06 my text.txt 11. Создать каталог myFolder. mkdir myFolder 12. Переместить файлы my text.txt и my_h_link в каталог myFolder. mv “my text.txt” my_h_link ./myFolder 13. Просмотреть идентификаторы всех групп. cat /etc/group Какой идентификатор соответствует группе root? root:x:0: 14. Получить права суперпользователя. su 15. Перейти в каталог myFolder. cd myFolder 16. Просмотреть содержимое текущего каталога командой ls -l. 17. Используя идентификатор группы root установить группу root для файла my text.txt. chgrp 0 “my text.txt” 18. Просмотреть идентификаторы всех пользователей (владельцев). cat /etc/passwd Какой идентификатор соответствует пользователю под именем которого вы первоначально вошли в систему; суперпользователю? user:x:1000:100: //для пользователя user root:x:0:0: //для суперпользователя altlinux:x:500:500: //для пользователя altlinux (входит в группу altlinux) 19. Используя идентификатор суперпользователя установить для файла my text.txt владельца root. chown 0 “my text.txt” 20. Используя имена владельца и группы установить их первоначальные значения для файла my text.txt. chown user:users “my text.txt” chown altlinux:altlinux “my text.txt” 21. Используя команду chmod и символы установить права чтения и записи для всех пользователей у файла my text.txt. chmod a=rw “my text.txt” 22. Просмотреть содержимое текущего каталога командой ls -l. 23. Используя команду chmod и цифры сбросить все права для всех пользователей у файла my text.txt. chmod 000 “my text.txt” 24. Просмотреть содержимое текущего каталога командой ls -l. 25. Используя команду chmod и цифры установить права чтения и выполнения для всех пользователей у файлов my text.txt и my_h_link. chmod 555 “my text.txt” my_h_link 26. Перейти в каталог верхнего уровня. cd ../ или cd ..

Установить для каталога myFolder группу root. chgrp root myFolder 28. Установить для каталога myFolder признак sgid. chmod g+s myFolder 29. Создать файл text.txt в каталоге myFolder. touch myFolder/text.txt Какой группе файл text.txt автоматически стал принадлежать? Группе root 30. Получить права обычного пользователя. su имя_пользователя 27. Самостоятельно продолжить изучение среды KDE (K Desktop Environment). По окончанию работы удалить все созданные файлы!!!

Практическая работа № 6:


Объединение команд в ОС Линукс. 

Цель: научиться объединять команды в строительные блоки в ОС Линукс.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Команды обычно выполняются по одной, т.е. вводится команда в терминале, затем нажимается клавиша ввода и команда автоматически обрабатывается. Команды можно объединять в сложные конструкции используя следующие символы: ; выполнение нескольких команд последовательно && выполнение команды, если предыдущая была выполнена успешно || | выполнение команды, если предыдущая была выполнена с ошибкой передача выходных данных одной команды на вход другой команды > >> перенаправление выходных данных в файл перенаправление выходных данных в конец файла < использование содержимого файла в качестве входных данных команда_принимающая_данные $(команда_передающая_данные) Команды в конструкции должны вводиться в ОДНУ строку и перечисляться через соответствующий разделитель, например: команда_1; команда_2; команда_3 && команда_4; команда_5 Т.о. команды будут выполнены в следующем порядке: команда_1, затем команда_2, затем команда_3 И ЕСЛИ команда_3 ВЫПОЛНЕНА БЕЗ ОШИБОК, то будет выполнена команда_4, затем команда_5. Выполнение команд можно приостановить, используя команду sleep, в данном случае на 5 секунд. команда_1; sleep 5; команда_2; Лабораторные работы (практикум) «Операционные системы и среды» www.studentam-in.ru 35

36. ПРАКТИЧЕСКАЯ ЧАСТЬ 1. Создать виртуальную машину для запуска ОС Линукс. 2. Запустить ОС Линукс. 3. Запустить терминал Konsole. 4. Определить путь к текущему каталогу. 5. Перейти в каталог Desktop. 6. На рабочем столе создать архив arc.zip из графических файлов. ЗАМЕЧАНИЕ Определить путь к графическим файлам, используя файловый менеджер! Пример пути к графическим файлам /usr/share/wallpapers/ 7. Объединить нижеперечисленные команды с помощью символов && и ; в качестве разделителей. ЗАМЕЧАНИЕ Все команды вводятся в ОДНУ строку, отделяясь друг от друга ; или &&! a. b. c. d. e. f. Вставить задержку в 3 сек. перед выполнением команд; Вывести содержимое текущего каталога Desktop в один столбец; Разархивировать файл arc.zip; Создать дерево каталогов /f1/f2/img/f4 в каталоге Desktop; Переместить все разархивированные графические файлы в каталог /f1/f2/img; Удалить файл arc.zip. 8. Объединить нижеперечисленные команды с помощью символов ||: a. Выполнить ‘неверную’ команду; b. Создать файл text.txt на рабочем столе и открыть его для редактирования. 9. Записать в открытый файл text.txt текст: first cmd caused error. 10. Создать каталог folder командой mkdir используя конструкцию: команда_принимающая_данные $(команда_передающая_данные) Команда mkdir должна принять параметр folder от команды echo. Т.е. название каталога folder передается от команды echo команде mkdir. 11. Перенаправить выходные данные команды ls -l о текущем каталоге в файл fout.txt. 12. Присоединить выходные данные команды date в файл fout.txt. 13. Использовать содержимое файла fout.txt в качестве входных данных для команды echo. 14. Передать результаты работы команды ls -1 программе wc (word count) с параметром -l. 15. Что означает выведенное на экран число? 16. Самостоятельно продолжить изучение среды KDE (K Desktop Environment). По окончанию работы удалить все созданные файлы!!! Лабораторные работы (практикум) «Операционные системы и среды» www.studentam-in.ru 36

38. ПРАКТИЧЕСКАЯ ЧАСТЬ С ОТВЕТАМИ 1. 2. 3. 4. Создать виртуальную машину для запуска ОС Линукс. Запустить ОС Линукс. Запустить терминал Konsole. Определить путь к текущему каталогу. pwd //print working directory 5. Перейти в каталог Desktop. cd Desktop 6. На рабочем столе создать архив arc.zip из графических файлов. zip -r9 ./arc.zip /usr/share/wallpapers/*.jpg ЗАМЕЧАНИЕ Определить путь к графическим файлам, используя файловый менеджер! Пример пути к графическим файлам /usr/share/wallpapers/ 7. Объединить нижеперечисленные команды с помощью символов && и ; в качестве разделителей. ЗАМЕЧАНИЕ Все команды вводятся в ОДНУ строку, отделяясь друг от друга ; или &&! a. b. c. d. e. f. Вставить задержку в 3 сек. перед выполнением команд; Вывести содержимое текущего каталога Desktop в один столбец; Разархивировать файл arc.zip; Создать дерево каталогов /f1/f2/img/f4 в каталоге Desktop; Переместить все разархивированные графические файлы в каталог /f1/f2/img; Удалить файл arc.zip. sleep 3; ls -1; unzip -d ./ ./arc.zip && mkdir -p ./f1/f2/img/f4 && mv ./usr/share/wallpapers/*.jpg ./f1/f2/img/ && rm ./arc.zip 8. Объединить нижеперечисленные команды с помощью символов ||: g. Выполнить ‘неверную’ команду; h. Создать файл text.txt на рабочем столе и открыть его для редактирования. my_error || touch ./text.txt && vi ./text.txt 9. Записать в открытый файл text.txt текст: first cmd caused error. vi text.txt Нажать клавишу Insert. Ввести текст. Нажать клавишу Escape. Ввести :wq и нажать Enter. Лабораторные работы (практикум) «Операционные системы и среды» www.studentam-in.ru 38

39. 10. Создать каталог folder командой mkdir используя конструкцию: команда_принимающая_данные $(команда_передающая_данные) mkdir $(echo folder) Команда mkdir должна принять параметр folder от команды echo. Т.е. название каталога folder передается от команды echo команде mkdir. 11. Перенаправить выходные данные команды ls -l о текущем каталоге в файл fout.txt. ls -l > fout.txt 12. Присоединить выходные данные команды date в файл fout.txt. date >> fout.txt 13. Использовать содержимое файла fout.txt в качестве входных данных для команды echo. echo < fout.txt 14. Передать результаты работы команды ls -1 программе wc (word count) с параметром -l. ls -1 | wc -l //lines 15. Что означает выведенное на экран число? Число строк в столбце, отображаемых командой ls -1. 16. Самостоятельно продолжить изучение среды KDE (K Desktop Environment). По окончанию работы удалить все созданные файлы!!! Лабораторные работы (практикум) «Операционные системы и среды» www.studentam-in.ru 39


40. LinuxOperatingSystem
Практическая работа №7:

Поиск данных в ОС Линукс.  Цель: научиться выполнять поиск необходимых данных в ОС Линукс. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Увеличение объемов информации порождает проблему поиска необходимых данных. Для решения данной проблемы можно использовать нижеперечисленные средства поиска. ПОИСК ФРАГМЕНТОВ ТЕКСТОВОГО ФАЙЛА Команда grep просматривает содержимое файлов и извлекает фрагменты, удовлетворяющие условиям поиск. При работе с командой grep задается шаблон поиска и файл(ы), в которых требуется найти фрагмент соответствующий шаблону. grep искомый_фрагмент имя_файла Примеры использования команды grep: grep text file.txt //поиск слова text в файле file.txt Замечание В данном случае результаты поиска будут включать вхождения слова text, например, textile, textbook и т.д. Чтобы избежать этого используется параметр -w (--word-regexp). grep text * //поиск слова text в нескольких файлах grep ‘some text!!!’ file.txt //одинарные кавычки сообщают, что критерием поиска //является строка символов grep -R text * //поиск слова text в файлах, находящихся в текущем //каталоге и его подкаталогах Если результатов поиска слишком много, то их можно передать программе less используя символ |. grep -R text * | less Результаты поиска можно сохранить в файл. grep -R text * > result.txt Параметры команды grep: -i (--ignore-case) – не учитывать регистр при поиске данных; -n (--line-number) – отображение номера строки, содержащей искомый текст; -A (after) – вывод строк (контекста) следующих за искомым текстом в файле; -B (before) – вывод строк (контекста) предшествующих искомому тексту в файле; -C – вывод контекста -l – отобразить имя файла, содержащего искомый текст Можно выполнять поиск слов в результатах поиска, используя конструкцию grep | grep ПОИСК ФАЙЛОВ Лабораторные работы (практикум) «Операционные системы и среды» www.studentam-in.ru 40


Каталог: tasks
tasks -> Среди любителей компьютерных игр футболом увлекается каждый
tasks -> Руководство пользователя аннотация документ описывает основные возможности мобильного терминала для устройств с операционной системой Android
tasks -> Операционные системы реального времени (осрв)
tasks -> Лабораторная работа №1 Windows Forms 1 Цель работы Изучить основы построения Windows приложений на Visual Studio. Net
tasks -> При ознакомлении с технологиями и системами аужцп студенты классифицируют одно из по, представленных в презентациях
tasks -> 1 Предконтрактная подготовка Сравнительный анализ рынков стран по сделке


Поделитесь с Вашими друзьями:
1   2   3


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал