МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЗІ
З В І Т
до лабораторної роботи №7, 8
з курсу «Безпека інформації в інформаційно-комунікаційних системах»
на тему:
«Автоматизація процесу адміністрування за допомогою скриптів.»
Мета роботи: Отримати базові знання, необхідні для написання скриптів. Навчитися працювати з технічною літературою.
Короткі теоретичні відомості:
Кожен системний адміністратор Linux рано чи пізно стикається з таким поняттям, як «скрипт», будь то один із завантажувальних скриптів чи написаний розробником ПЗ скрипт конфігурування. В даній роботі ви зрозумієте, що написання скриптів на shell не являється чимось надзвичайно складним і повністю під силу навіть новачку в світі Linux.
Почнемо з того, що розберемо, що ж ховається за англійськими термінами shell та script. Shell, або оболонка, як цей термін іноді перекладають - це командний інтерпретатор, інтерфейс між користувачем і операційною системою, її ядром. Але, крім цього, це ще й потужна мова програмування та написання сценаріїв. Вона містить свої службові слова та керуючі конструкції і дозволяє писати на ній програми. Така програма на мові сценаріїв, звана скриптом, може поєднувати в собі системні виклики і команди операційної системи, а також зовнішні утиліти, створюючи потужний інструмент для системного адміністрування.
Отже, перш за все, нам необхідно розібратися в структурі скрипта. Вона не являє собою нічого складного. За великим рахунком, найпростіший скрипт – просто перерахування системних команд. Наприклад:
echo This is just example
whoami
uname –a
Ці команди об’єднані в одному файлі. Але shell повинен знати, що він повинен цей файл обробити, а не просто прочитати його вміст. Для цього є спеціальна конструкція: #!
Ця конструкція називається «Sha-Bang». Взагалі-то, # задає коментар, але в даному випадку Sha-Bang означає, що після неї піде шлях до обробника скрипта. Наприклад:
#!/bin/bash
#!/bin/sh
#!/usr/bin/perl
Хід роботи:
Створити скрипт, який здійснює вивід меню, яке складається з наступних пунктів:
поточний користувач,
об’єм пам’яті, яка використовується,
об’єм дискового простору,
запущені процеси,
процеси, які запущені поточним користувачем,
системні дата і час,
час запуску системи
вихід,
Вивід відповідної інформації в залежності від вибраного пункту меню. Процес повторювати до тих пір, поки не буде вибраний пункт меню «вихід».
Результат:
[cra@cra ~]$ sh lab7.shДії:1.Вивести поточного користувача2.Обєм RAM3.Статус HDD4.Запущені процеси5.Процеси поточного користувача6.Дата та час7.Час запуску ситеми8.Завершення роботиВиберіть дію1craВиберіть дію2 total used free shared buffers cachedMem: 1030684 967152 63532 0 23704 443164-/+ buffers/cache: 500284 530400Swap: 2064376 8768 2055608Виберіть дію3Файловая система 1K-блоков Исп Доступно Исп% смонтирована на/dev/mapper/vg_cra-lv_root 5716804 4265728 1160672 79% /tmpfs 515340 616 514724 1% /dev/shm/dev/sda1 495844 32002 438242 7% /bootdf: «/root/.gvfs»: Отказано в доступе/dev/sr0 3080782 3080782 0 100% /media/RHEL_6.4 i386 Disc 1Виберіть дію4USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 8421 0.0 0.0 4288 932 pts/0 T 11:52 0:00 man psroot 8440 0.0 0.1 5064 1064 pts/0 T 11:52 0:00 sh -c /usr/bin/root 8442 0.0 0.0 4488 808 pts/0 T 11:52 0:00 /usr/bin/less -cra 8706 0.0 0.1 5068 1168 pts/2 T 12:04 0:00 sh lab7.shcra 8722 0.0 0.1 5068 1160 pts/2 T 12:05 0:00 sh lab7.shcra 8725 0.0 0.1 5068 1156 pts/2 T 12:05 0:00 sh lab7.shcra 8729 0.0 0.1 5068 1160 pts/2 T 12:06 0:00 sh lab7.shcra 8735 0.0 0.1 5068 1156 pts/2 T 12:07 0:00 sh lab...