201310170800


Для выбора варианта и группы используем симулятор [1] для игры в кости.

1. Пользователи
  Создать трех пользователей, входящего в группу <ИМЯ ГРУППЫ>.
  Назначить каждому из них один и тот-же пароль Passw0rd. 
  Поkазать хеши их паролей. Почему они разные и каким методом созданы.
  Что такое соль (salt).  
  Решение для каждого пункта представить скриптом.

2. Файлы
  Создать файл с именем dummy длинной 2 в 23 степени бит.
  Показать атрибуты этого файла.
  Изменить владельца файла.
  Запретить читать, изменять или выполнять созданный файл всем кроме владельца и рута.

3. Поиск
  Скачать или создать большой (статья, книга) текст в кодировке utf-8
  Искать все строки содержащие шаблон <некоторое регулярное выражение>
  В найденых строках искать предложения, начинающиеся с гласной буквы.
  Построить grep, ls, cat  (исходники C# в файле "исходники.. не вошедшие..", продемонстрировать работоспособность
  
4. Шифрование
  Боб генерирует открытый и секретный ключи
  Боб передает Алисе открытый ключ.
  Алиса шифрует им сессионный ключ (AES) и передает шифровку Бобу
  Боб расшифровывает AES ключ и шифрует им фотографию
  Алиса получает шифровку и рассматривает фотографию.

5. Хеши
  Создать файл хешей md5 для всех файлов папки <папка>
  Изменить два файла и найти их.
  Подписать хеш sha-256 на рисунок <рисунок>.
  Дорисовать усы и доказать, что измененный рисунок не подписан.

6. Backup
  Создать небольшой раздел диска содержащий какие-нибудь файлы. Для этого:
  Забить нулями пустое пространство на диске.
  Упаковать диск в файл.
    -- добавить диск 1GB в виртуальную машину Linux.
    -- создать партицию: fdisk /dev/sdb n (start 2048: default, end: default)
    -- тип партиции 83 Linux
    -- записать результат: w
    -- форматировать mkfs /dev/sdb1
    -- монтировать на /mnt/sdb1: mkdir /mnt/sdb1; mount /dev/sdb1 /mnt/sdb1
    -- записать на нее некоторое количество файлов
    -- забить пустое пространство нулями: dd if=/dev/zero of=grow; rm grow
    -- размонтировать партицию: umount /dev/sdb1
    -- создать архив имиджа диска в папке /home: dd if=/dev/sdb of=- |
bzip2 > /home/backup.bz2
  создать дайджест файла в формате sha-1.
  Отформатировать сохраненный раздел
  По дайджесту убедиться, что резервная копия не повреждена
  Восстановить раздел пользуясь резервной копией.

7. Malware

  Создать виртуальную машину ОС Reactos.
  Скачать .torrent файл в .exe упаковке (ссылку взять у учителя).
  Для извлечения полезной части распаковать самоупаковывающийся .exe архив.
  Убедиться, что в компьютер установлено постороннее программное обеспечение (ПО, принудительная установка). 
  
Более мягкий вариант -- при установке требуемого ПО в инсталляторе предлагаются некоторые действия, принятые по умолчанию, но не имеющие отношения к поставленной цели (активная реклама).

8. Сеть

  Скачать виртуальную машину Android 4.3-x86 (VirtualBox). 
  С хоста 127.0.0.1 установить в виртуальную андроид-машину графическое приложение.
  В хосте создать простую HTML страницу (можно:
    view page as source
    copy
    create new file down.html
    paste and save
  )
  В андроид-машине создать текстовый файл (найти слово "кот" в документе UNIX на этом же сайте) и загрузить его в localhost через НТТР)

9. Целостность БД

  Создать пример скрипта на основе "заметок к занятиям по MySQL"
  Выполнить скрипт с помощью команды 
  
    > mysql < myscript.sql
    
  Показать, как сохранить целостность базы данных используя (как разрушить БД не используя): 
  
    -- слова PRIMARY/FOREIGN KEY
    -- VIEW
    -- транзакции (BEGIN .. COMMIT/ROLLBACK)

Ссылки

[1]. http://www.edwardsmale.co.uk/Dice
