Главная » Просмотр файлов » Лаб_СПО_1_2-ed3

Лаб_СПО_1_2-ed3 (538458), страница 4

Файл №538458 Лаб_СПО_1_2-ed3 (Метода по выполнению лабораторных работ 1, 2 по СПО) 4 страницаЛаб_СПО_1_2-ed3 (538458) страница 42015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

nata:0/RFTGYHcyFf:69:10:Nata_F._Ferri: /home/nata:/bin/'csh

8) Перечислите файлы, относящиеся к служебным учетным записям UNIX.

9) Укажите формат команд, используемых для исследования системы.

10) Перечислите команды для идентификации файлов.

11) Укажите формат команды для получения информации о процессах, связанных с терминалом.

12) Расшифруйте поля файла/etc/group: user:: 10: dave, lory, james .

  1. Напишите команду для просмотра таблиц процесса.

  2. Перечислите способы установки командного интерпретатора.

  3. Назначение файла/etc/shell.

  4. Где и в каком поле записи указывается командный интерпретатор пользователя?

2.5 . Литература

  1. Робачевский А. Операционная система ПМХ.-СПб.:ВН"У-Санкт-Петербург, 1997/2002.

  2. Команды Linux. Справочник.- К.: ТИД ДС, 2002.

ЛАБОРАТОРНАЯ РАБОТА №2

РАСШИРЕННЫЕ ВОЗМОЖНОСТИ КОМАНДНЫХ ИНТЕРПРЕТАТОРОВ

3.1 Цель работы

Целью данной работы является изучение расширенных возможностей командных интерпретаторов, получение навыков отладки сценариев.

3.2 Задание на выполнение работы

  1. Используя утилиту at передать в назначенное время сообщение произвольного содержания.

  2. Вывести информацию об остановленных и фоновых заданиях:

• полный список,

• с указанными номерами заданий,

• идентификатор группы процессов и рабочий каталог;

• только идентификатор группы процессов.

3) Выполнить поиск файлов по следующим критериям:

• по размеру,

• с именем core (образ процесса, создаваемый при неудачном его завершении и используемый в целях отладки).

4) Изучить интерфейс и выполнить основные файловые операции в встроенном редакторе программ Midnight Commander (mc).

  1. Написать и отладить программу на языке интерпретатора Borne:

• используя команду echo;

• используя команду управления форматированием вывода (print!);

  • обрабатывающую ввод из потока STD[N;

• использующую несколько переменных в аргументе команды read, рассмотреть случаи:

• число переменных в списке равно числу аргументов, считанных из потока;

• число переменных в списке меньше числа аргументов, считанных из потока;

• вычисления длины окружности и площади круга (используя команду be);

  1. Написать и отладить программу, демонстрирующую использование функции setuid (процесс может изменять значение кода идентификации пользователя, под которым он исполняется).

  2. Запустить программу ведения журнала logger, вывод программы записать в файл file.log, сохраняя все предыдущие записи.

3.3 Краткие теоретические сведения

3.3.1 Менеджер файлов Midnight Commander (mc)

Программа Midnight Commander поли функциональный менеджер файлов, работающий в текстовом режиме (т.е. в текстовой консоли или терминале). Интерфейс программы похож на двухпанельные менеджеры файлов Norton Commander для MS-DOS, FAR и Windows Commander для Windows, а по набору функций не уступает лучшим из них. Файловые операции тс выполняются аналогично.

3.3.2 Работа со ссылками

Символическая ссылка создается в каталоге, открытом на пассивной панели, и указывает на текущий файл на активной панели.

Для того, чтобы создать символическую ссылку, необходимо выпол­нить следующие действия.

  1. Перейдите в каталог, в котором будет размещаться ссылка.

  2. Нажмите на клавишу Tab, чтобы сделать эту панель пассивной.

  3. На активной панели перейдите в каталог, где находится файл, на который будет указывать ссылка, и выберите его (текстовым курсором или щелкните мышью).

  4. Выберите меню Файл (клавиша F9).

  5. В этом меню выберите пункт Символическая ссылка.

6) В открывшемся окне Символическая ссылка введите в поле ввода Имя символической ссылки имя файла ссылки и нажмите на клавишу Enter.

3.3.3 Простейшие текстовые редакторы

Для работы в текстовой консоли ASPLinux можно воспользоваться несколькими простейшими текстовыми редакторами, которые позволяют изменить конфигурационный файл системы или набрать текст сценария. В текстовом режиме, как и в оболочке GNOME, можно использовать профессиональную систему подготовки текста emacs (включающую в качестве макроязыка язык программирования высокого уровня), однако ее рассмотрение выходит за пределы данного пособия.

В простых случаях можно воспользоваться встроенным редактором программы Midnight Commander (тс). Для того, чтобы отредактировать текстовый файл во встроенном редакторе тс, выберите нужный файл в активной панели и нажмите клавишу F4. В открывшемся окне редактора можно вводить или редактировать текст. При необходимости следует использовать кнопки операций с блоками текста или поиска по образцу или, нажав клавишу F9, открыть меню, позволяющее устанавливать пользовательские настройки редактора, или осуществлять такие операции, как форматирование текста и обработка при помощи макросов.

Существующий несколько десятков лет тестовый редактор vi имеет
очень специфическую систему команд и сохраняется в современных
системах UNIX (Linux) во многом лишь по традиции. Однако некоторые
старые командные файла (скрипты) могут по умолчанию вызывать данный
редактор для редактирования файлов пользователя, В этом случае
понадобиться выйти из текстового редактора vi без сохранения

изменений: поместить курсор с помощью клавиши Backspace в ту часть окна, где расположен текст; далее набрать символ ; (нажав клавиши Shift -.), курсор вместе с набранным символом переместится в нижнюю строку экрана (поле команд); ввести в этом поле последовательность символов ql и нажать клавишу Enter.

3.3.4 Программирование яа языке командного интерпретатора

Интерпретатор (shell) UNIX представляет собой интерфейс
командной строки. По своей функциональности он похож на
интерпретатор COMMAND.COM системы MS DOS. Одной из задач
интерпретатора является обеспечение безопасного и структурированного
доступа к ядру UNIX, т.е. фактически это программный уровень, который
предоставляет среду для ввода команд, обеспечивая тем самым
взаимодействие между пользователем и ядром операционной системы.
Кроме того, встроенный в интерпретатор мощный язык

программирования используется для решения различных задач: от автоматизации повторяющихся команд до написания сложных интерактивных программ обработки данных, получения информации из небольших баз данных.

В среде UNIX существует много командных интерпретаторов, среди которых можно выделить такие, как sh, tcsh, ksh, csh, bash, в Linux no умолчанию используется bash.

Ниже приводятся примеры нескольких способов написания простой программы вывода фразы "Hello, ASRLinux!" на языке интерпретатора Bourne.

Пример 1. #!/bin/sh

  • Первая программа "Hello, ASRLinux!",

  • реализованная для интерпретатора Bourne echo

echo "Hello, ASRLinux! "

echo

exit 0

Пример 2. #!/bin/sh

  • Программа "с командой printf".

  • реализованная для интерпретатора Bourne

printf “Hello, Linux”

exit 0

Пример 3. #!/bin/sh

  • Программа, "воспринимающая ввод с клавиатуры",

  • реализованная для интерпретатора Bourne echo

echo

echo -n "Введите name: "

read name

echo

echo "Hello, ${name}!"

echo

exit 0

В примерах 1-3 первые строки содержат последовательность символов #!, сообщающую ОС, что за ней следует имя командного интерпретатора, в котором сценарий должен выполняться. В данном случае это интерпретатор Bourne, /bin/sh.. Строки, начинающиеся с символа #, являются комментариями, и интерпретатор их игнорирует. Команда echo выводит свои аргументы в стандартный вывод (обычно это экран). Команда exit завершает работу программы и возвращает код выхода родительской программе (обычно это командный интерпретатор). Код завершения, равный 0, указывает, что программа нормально завершила работу. Код, отличный от 0, сообщает об ошибке. Если статус завершения не указан явно, то программа возвращает код завершения последней выполненной команды.

Простого вывода сообщений на экран недостаточно для решения

задач, поэтому язык сценариев использует переменные. Все переменные в программах командного интерпретатора хранятся как строки. Кроме присвоения значений переменным и их использования в сценарии, командный интерпретатор предоставляет возможность обрабатывать ввод из потока STDIN. Для чтения пользовательского ввода используется команда read. Команда read в качестве аргументов может иметь несколько переменных (пример 4). В этом случае всякий пустой символ трактуется как символ разделитель между значениями, присваиваемыми разным переменным. Если число аргументов, прочитанных из потока ввода, меньше, чем число переменных в списке, оставшимся переменным не присваивается никаких значений. Если аргументов больше, чем переменных, то все оставшиеся значения присваиваются последней переменной.

Пример 4. #!/bin/sh

echo

echo -n "Введите три числа, разделенные пробелами или символом табуляции: " read var I var2 var3 echo

echo "The of var1 is: $ (var I}"

echo "The of var2 is: ${var2}"

echo "The of var3 is: ${var3}" echo exit 0

Для операций с числами с плавающей запятой, а также обработки сложных выражений, где порядок операций изменен, применяется команда be (пример 5).

Пример 5. #!/bin/sh

  • Данная программа вычисляет длину окружности

  • и площади круга

pi="3. 14159265" # Переменной присваивается число р

  • пользователю выводится сообщение и запрашивается радиус

  • окружности echo

echo "This program computes both the circumference and the area of

echo "a circle"

echo

echo -n "please enter radius of tfe circle: "

read radius

# Вычисляемые значения сохраняются в переменных
dlina = (echo $radius*$pi | bc -l)
area = $ (echo $radius^2*$pi | bc -l)
#Программа выводит результаты и завершает работу
printf " “\n dlina = \t$ dlina \n”
printf "\n area = \tB area \n”

exit 0

После ввода текста программы и сохранения, необходимо сделать файл выполняемым. Для этого используется команда: chmod u-'-x hello. Эта команда устанавливает права владельца на запуск файла, например, hello. Для запуска файла наберите в командной строке: . /hello

---------------------------------------

Для запуска, написанных программ набираем в терминале:

chmod777 имя_файла.txt

.\ имя_файла.txt

---------------------------------------

3.3.5 Программа setuid

Ядро связывает с процессом два кода идентификации пользователя, не зависящих от кода идентификации процесса: реальный (действительный) код идентификации пользователя и исполнительный код или setuid (от "set user ID" - установить код идентификации пользователя, под которым процесс будет исполняться).

Реальный код идентифицирует пользователя, несущего ответственность за выполняющийся процесс.

Исполнительный код используется для установки прав собственности на вновь создаваемые файлы, для проверки прав доступа к файлу и разрешения на посылку сигналов процессам через функцию kill

Процессы могут изменять исполнительный код, запуская с помощью функции exec программу setuid или запуская функцию setuid в явном виде.

Программа setuid представляет собой исполняемый файл, имеющий в поле режима доступа установленный бит setuid. Когда процесс запускает программу setuid на выполнение, ядро записывает в поля, содержащие реальные коды идентификации, в таблице процессов и в пространстве процесса код идентификации владельца файла. Чтобы как-то различать эти поля, назовем одно из них, которое хранится в таблице процессов, сохраненным кодом идентификации пользователя. Рассмотрим пример, иллюстрирующий разницу в содержимом этих полей.

Синтаксис вызова системной функции setuid: setuid (uid), где uid -новый код идентификации пользователя.

В примере 6 приведен текст программы, демонстрирующей использование функции setuid. Предположим, что исполняемый файл, полученный в результате трансляции исходного текста программы, имеет владельца с именем "maury" (код идентификации 8319) и установленный бит setuid; право его исполнения предоставлено всем пользователям. Допустим также, что пользователи "mjb" (код идентификации 5088) и "maury" являются владельцами файлов с теми же именами, каждый из которых доступен только для чтения и только своему владельцу.

Пример 6. #include mam()

.{

int uid,euid,fdmjb,fdmaury;

uid - getuid(); /* получить реальный UID */

Характеристики

Тип файла
Документ
Размер
238 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее