Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Redaktsia_4_UP_Linux_-_Osnovnaya_chast.doc
Скачиваний:
57
Добавлен:
06.11.2018
Размер:
2.02 Mб
Скачать

Работа с каналами

  1. Создайте неименованный канал (конвейер). Для этого можно использовать команду

od /dev/zero | tr ‘\0’ ’1’| more

Перейдя в другую консоль, с помощью команды top убедитесь, что были созданы 3 процесса: программы восьмеричного дампа od, программы перекодировки и транслитерации tr, заменяющей нули на единицы, и программы поэкранного вывода more. Все процессы запускаются и действуют одновременно. Различаются ли приорететы запущенных процессов?

  1. Остановите запущенный процесс комбинацией клавиш <Ctrl-C>.

  2. Изучите порядок создания и функционирования именованного канала. Для этого:

  • правами user1 создайте в каталоге хранения временных файлов именованный канал mkfifo /tmp/fifo,

  • убедитесь в его создании и наличии прав на чтение из канала и запись в него ls -l /tmp/fifo,

  • переключитесь во вторую консоль и введите команду чтения из канала со стандартного вывода (экрана) cat < /tmp/fifo,

  • переключитесь в первую консоль и введите команду записи в канал со стандартного ввода (клавиатуры) cat > /tmp/fifo,

  • наберите в первой консоли произвольный текст и нажмите <Enter> (буферизованный ввод),

  • переключитесь во вторую консоль и прочитайте введенный текст. Повторите процедуру несколько раз,

  • из первой консоли (где производится ввод в канал) комбинацией клавиш <Ctrl+D> введите команду на закрытие канала FIFO,

  • удалите именованный канал командой rm /tmp/fifo .

Исследование опасных команд

  1. Правами пользователя создайте в каталоге /tmp файл неограниченного размера, замаскированный под имя временного файла:

yes 12345 > /tmp/file2AF5DS & ,

где после префикса file в имени файла должна стоять шестибайтная случайная последовательность символов. Дождитесь сообщения системы о нехватке памяти и с помощью команды ls -l выведите информацию о размере созданного файла. С помощью утилиты cat посмотрите содержание созданного файла и убедитесь, что он заполнен строками из цифр 12345.

  1. С помощью утилиты df оцените расход дискового пространства.

  2. Перейдите в консоль другого пользователя и командой

echo privet! > /tmp/a

попробуйте создать небольшой текстовый файл. Чем завершилась попытка?

  1. Попытайтесь создать такой же файл /tmp/a с правами администратора. Сделайте выводы об опасности подобных атак. Командой rm удалите созданный файл /tmp/file2AF5DS.

  2. С помощью команды ulimitf 100 из консоли пользователя установите лимит на размер создаваемых файлов (в блоках).

  3. Повторно правами пользователя попытайтесь создать в каталоге /tmp файл неограниченного размера:

yes 12345 > /tmp/file2 &

  1. Дождитесь сообщения о создании файла и командой lsl /tmp проверьте его объем. Ограничения на иные системные ресурсы устанавливаются аналогично.

  2. Произведите атаку на истощение доступного ресурса индексных дескрипторов. Для этого от имени пользователя создайте в каталоге /tmp командный файл abcd со следующим содержанием:

cat >abcd

#! /bin/bash

while :

do

mkdir 1

cd 1

touch 2

done

Ctrl+d

  1. Командой chmod присвойте владельцу указанного файла права на чтение и исполнение. Запустите файл из командной строки. Перейдите в каталог администратора (или другого пользователя) и ожидайте результат. Объясните его. Удалите созданный командный файл.

  2. Произведите атаку путем запуска большого числа процессов. Для этого от имени пользователя создайте в каталоге /tmp командный файл abcd следующего содержания:

cat >abcd

#! /bin/bash

export RUN=$((RUN+1))

echo $RUN

$0

Ctrl+d

Командой chmod присвойте владельцу указанного файла права на чтение и исполнение.

  1. Перейдите в консоль администратора и введите команду ps -ef (но пока не запускайте ее!).

  2. Вернитесь в консоль пользователя и запустите созданный командный файл. Вновь перейдите в консоль администратора. Запустите команду ps -ef и наблюдайте пользовательские процессы. Попробуйте остановить этот процесс правами администратора.

  3. Система должна остановить этот процесс и вывести в консоль пользователя сообщение о большом числе созданных файлов.

  4. Сделайте выводы о степени опасности перечисленных атак.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]