
- •Лабораторна робота №12 тема. Завантаження, реєстрація та основні команди в ос linux
- •Мета роботи
- •Обладнання
- •3 Теоретичні положення
- •3.1 Основні команди
- •3.2 Завантаження системи
- •3.2.1 Автозавантаження
- •3.3 Реєстрація в системі
- •3.4 Контрольні суми
- •Порядок виконання роботи
- •Питання для самоперевірки
- •8 Домашнє завдання
- •9 Література
3.3 Реєстрація в системі
Тепер познайомимося з процесом реєстрації користувача в системі. Це допоможе вам краще зрозуміти систему безпеки, яка використовується в ОС Linux при авторизації. Програма init завантажує віртуальні консолі getty. Кожна з них для роботи вимагає авторизації і запрошує ім'я користувача. Для цього на екран виводиться вікно запрошення. Введене ім'я користувача передається програмі login, а вона у свою чергу запрошує пароль.
Програма login порівнює ім'я користувача із списком імен у файлі /etc/password, а пароль - з відповідним записом у файлі /etc/shadow. Всі паролі у файлі зберігаються тільки в зашифрованому вигляді. Для зіставлення введений пароль теж шифрується, і результат порівнюється із значенням у файлі /etc/shadow для вказаного імені користувача.
Чому так складно відбувається перевірка? Просто всі паролі у файлі /etc/shadow зашифровані незворотнім алгоритмом (частіше за все використовується алгоритм MD5). Це значить, що математичними методами з результату кодування не можна отримати початковий пароль, тому можливий тільки підбір. Для цього існує декілька дуже простих програм. Чим простіше пароль і менше його довжина, тим швидше програма знайде потрібний варіант. Якщо пароль складний і його довжина більше 8 символів, а краще - понад 16, то підбір може відняти дуже багато часу.
Якщо ідентифікація користувача відбулася, то програма login виконає всі сценарії автоматично і запустить оболонку (командний рядок), через яку і відбуватиметься робота з системою. Якщо перевірка пройшла невдало, то система поверне управління консолі getty, яка знову запитає введення імені користувача.
Таким чином, поки ми не пройдемо авторизацію через програму login, запустити командну оболонку (Shell) неможливо, нам залишиться доступною лише консоль getty, яка уміє тільки запрошувати ім'я користувача і передавати його програмі login.
3.4 Контрольні суми
На дати зміни можна сподіватися, але необхідний додатковий засіб перевірки. Найкращим методом є підрахунок контрольної суми. Припустимо, що ви хочете відстежувати зміни в директорії /etc. Для цього виконайте наступну команду:
Md5sum /etc/*
Таким чином, підраховується контрольна сума вказаних як параметр файлів. На екрані ви отримаєте результат виконання команди приблизно такого вигляду:
783fd8fc5250c439914e88d490090ael /etc/DIR_COLORS
e2eb98e82a51806fe310bffdd23ca851 /etc/Muttrc
e!043de2310c8dd266eb0ce007ac9088 /etc/a2ps-site.cfg
4543eebdOf473107e6e99ca3fc7b8d47 /etc/a2ps.cfg
C09badb77749eecbeafd8cb21c562bd6 /etc/adjtime
70abal6eOd529c3db01a20207fd66blf /etc/aliases
C3e3a40097daed5c27144f53f37de38e /etc./aliases .db
3e5bb9f9e8616bd8a5a4d7247f4d858e /etc/anacrontab
fe4aad090adcd03bf686103687d69f64 /etc/aspldr.conf
Результат відображається в дві колонки: перша містить контрольну суму, а друга - ім'я файлу. Контрольні суми підраховуються тільки для файлів. Для каталогів буде виведено повідомлення про помилку.
В даному випадку вказані всі файли каталогу /etc/*. Результат розрахунку виводиться на екран. Але запам'ятовувати ці дані незручно, тому логічно записати їх у файл, щоб потім використовувати його вміст для аналізу змін. Наступна команда зберігає результат у файлі /home /proba/md:
md5sum /etc/* » /home/proba/md
Щоб порівняти поточний стан файлів директорії /etc з вмістом файлу /home/proba/md, необхідно виконати команду:
md5sum -с /home/proba/md
На екрані з'явиться список всіх файлів, і напроти кожного повинен бути напис "Success" (Успіх). Це означає, що змін не було. Давайте модифікуємо який-небудь файл, виконавши, наприклад, наступну команду:
groupadd test
Поки не вдаватимемося в подробиці команди, зараз достатньо знати, що вона змінює файл /etc/group. Знову виконуємо команду перевірки контрольних сум файлів:
md5sum -с /home/proba/md
Тепер напроти файлу /etc/group буде повідомлення про помилку, тобто контрольна сума змінилася. Таким чином, навіть якщо дата коригування файлу залишилася колишньою, по контрольній сумі легко визначити наявність втручання.