Міністерство освіти та науки України
Національний університет «Львівська Політехніка»
Кафедра ІСМ
Звіт
До лабораторної рботи № 5
З курсу:” Операційні системи комп’ютерних мереж”
На тему:”ОС Linux. Адміністрування”
Мета роботи
Ознайомитися на практиці з базовими операціями адміністрування операційної системи
Теоретичні відомості:
До операцій адміністрування системи можна віднести роботу з користувачами системи, визначення обмежень доступу до системних ресурсів, запуск періодичних процесів (напр резервного архівування), зміна конфігурації системи та ін. Всі операції з адміністрування виконує адміністратор системи – користувач з login- іменем root.
Визначення прав доступу до файлів
В ОС Linux кожним файлом володіє певний користувач та група. Права доступу визначають окремо для трьох категорій користувачів: власника, групи та інших користувачів. Подивитися на права доступу до файлів у біжучому каталозі можна, наприклад командою
ls –l
Приклад виводу цієї команди:
-rw-rw-r-- 1 user user 245 Жов 12 21:07 0471710458.rar
drwxr-xr-x 5 user user 1024 Лис 8 15:15 bin/
drwx------ 2 user user 1024 Лис 2 10:03 Desktop/
-rw-rw-r-- 1 user user 669 Жов 8 23:24 Diagram1.dia
drwxrwxr-x 3 user user 1024 Тра 29 17:07 Diss/
drwxrwxr-x 2 user user 1024 Жов 5 20:13 Documents/
drwxrwxr-x 2 user user 1024 Жов 12 19:35 Download/
Тип файла та права доступу до нього відображені у першій колонці виводу
Для зручності роботи з командами правила доступу мають числові та буквенні коди
Код
Значення
0 або -
Відповідного права доступу немає
4 або r
Право на читання
2 або w
Право на запис
1 або x
Право на виконання
u
Права користувача
g
Права групи
o
Права інших користувачів
Кожен користувач повинен знати своє login- ім»я та до яких груп він належить. Цю інформацію можна отримати командою:
Id
Login-ім”я також зберігається у змінній USER:
Echo $USER
Команда chmod
Команда chmod дозволяє змінити права доступу до файла. Вона сприймає як числові, так і буквенні параметри. Наприклад, щоб додати для власнику файла hello право на виконання, можна використати команду:
chmod u+x hello
Аналогічно, щоб забрати у інших користувачів права на запис та виконання для цього файлу, можна виконати команду:
chmod o-wx hello
Приклади застосування команди chmod з числовими параметрами і водночас найбільш вживані конфігурації прав доступу навіедені у таблиці
Команда
Значення
Chmod 400 файл
Захист файлу від випадкового перезаписування
Chmod 500 каталог
Захист файлів каталогу від випадкової зміни
Chmod 600 файл
Приватний файл, який може бути змінений тільки користувачем, що ввів цю команду
Chmod 644 файл
Загальнодоступний для читання файл, який може бути змінено тільки користувачем що ввів цю команду
Chmod 660 файл
Користувачі, що належать групі, можуть змінювати файл. Інші взагалі не мають до нього доступу
Chmod 700 файл
Захист файлу від інших користувачів
Chmod 755 каталог
Файли в каталозі можна читати та виконувати усім, а змінювати -0 тільки власником
Chmod 755 файл
Звичайно використовується для сумісного використання файлів у межах групи
Chmod 777 файл
Всі мають повні права доступу до файлу
Для отримання більш детальної інформації по параметрах команди chmod можна подивитися у системній довідці.
Робота з групами
Кожен користувач по замовченню належить до однієї (головної) групи. Власне ця група вказана в файлі /etc/group для користувача. У більшості сучасних версій Linux прийнято, що користувач по замовченню належить до своєї приватної групи. (Ця група має ту ж назву, що й ім”я користувача та містить тільки цього користувача).
Водночас, користувач може перейти і до інших груп. Список груп, до яких він моде перейти можна отримати з виводу команди id. Для переходу в іншу групу (наприклад, групу web) користувачу треба ввести команду:
newgrp web
Якщо групу змінено, і наприклад, користувач створює новий файл, то цим файлом буде володіти вже змінена група.
Маска файлів
Коли створено новий файл, то система присвоює йому певні стандартні права доступу. Файли без прав доступу не існують у Linux. Різні користувачі мають різні значення цих стандартних прав доступу. Наприклад, root має більші обмеження щодо стандартних прав доступу.
Значення зміщення стандартних прав доступу для нового файла можна отримати командою
umask
Нехай вивід команди umask був 002. Розглянемо, як визначають права доступу до новоствореного каталогу або файлу. Спочатку каталогу присвоюють повні права доступу (777). А файлу присвоюють права доступу 666 (читання та запис для усіх, виконання – нікому). А потім числове значення визначене командою umask віднімається від заданих прав доступу. Для наведеного прикладу каталог отримає права доступу 775, а файл - 664
Значення зміщення umask задається в файлах /etc/bashrc або /etc/profile
Зміна власника файлу або каталогу
Якщо власник файлу або каталогу був визначений неправильно, його можна змінити командою
Chown newuser file
Аналогічно, групу можна змінити командою chgrp
Команди chown та chgrp мають багато інших можливостей, у тому числі – рекурсивну зміну власника для файлу чи каталогу.
Як правило, ці команди дозволено виконувати тільки адміністратору системи
Спеціальні коди доступу
Визначено три спеціальні біти у коді доступу каталогу або файлу
Sticky біт (1000). Якщо цей біт встановити для певного каталогу, то користувач зможе змінювати тільки такі файли у цьому каталозі, власником яких він є (при наявності відповідних прав доступу до файлів). Така схема доступу використиовується, наприклад, у каталозі /var/tmp де записані багато файлів різних користувачів. Встановлений sticky біт позначається буквою t у списку прав доступу до файла.
SUID (set user ID, 4000) та SGID (set group ID, 2000). Коли ці біти встановлено для виконувального файла, він буде виконуватися від імені власника файла, а не користувача, що запустив його на виконання. Це дозволяє забезпечити доступ до ресурсів системи. Зміщення позначаються буквою s у списку прав доступу до файла
SGID для каталогу. Якщо встановлено біт SGID для каталогу, то усі файли, створені у каталозі будуть мати власника групу ту ж, що й каталог. При цьому вже існуючі файли та перенесені у каталог файли будуть мати попередньо встановлені права доступу
Робота з користувачами системи
Створення облікових записів користувачів системи та визначення прав доступу відноситься до одного з найважливіших видів діяльності адміністратора. У Linux всі користувачі поділяються на дві групи: системні та користувачі-люди. Системні користувачі володіють деякими системними процесами та мають свій набір повноважень. Кожен користувач має свій числовий ідентифікатор (UID). Як правило, для ідентифікатори для системних користувачів та користувачів-людей належать до різних діапазонів.
Інформація про визначенних у системі користувачів знаходиться у текстовому файлі /etc/passw.
Для визначення UID певного користувача та до яких груп він належить, застосуйте команду
Id username
Для створення нового облікового рахунку користувача у системі можна скористатися командами useradd або adduser
Команда useradd дозволяє створювати обліковий рахунок по частинах, а adduser – працює у діалоговому режимі.
Adduser username
Після створення облікового рахунку окремі його параметри можна змінити, використовуючи команди usermod та chfn. Linux не накладає жодних обмежень – кожен параметр облікового рахунку, включаючи login- ім»я та UID можна змінити
Детальніше про ключі команд треба дізнатися з системної довідки.
Тимчасово деактивувати рахунок користувача можна командою
Passwd –l username
Повторна активація –
Passwd –u username
Знищити існуючий рухунок можна командою
userdel username
Виконання окремих команд від імені адміністратора
Одним з загальноприйнятих правил роботи з Linux є те що щоденні робочі функції ніколи не виконуються від імені адміністратора (root). Деякі дистрибутиви Linux навіть не дозволяють робити початкове логування в системі як root. Натомість від імені адміністратора виконуються тількі задачі які вимагають адміністративних повноважень, та ніякі інші.
Як бути, якщо підчас нормальної роботи з системою виникла потреба виконати адміністративну операцію ? Для цього існує декілька способів.
Можна ввести у терміналі команду su. Система запросить пароль адміністратора і після правильного вводу продовжить роботу вже з повноваженнями адміністратора.
Інший, менш радикальний спосіб полягає у використанні команди sudo. Ця команда використовується, якщо треба дозволити окремим користувачам виконувати визначені адміністративні функції (не передаваючи однак їм усіх повноважень та не розкриваючи адміністративного пароля).
Для цього треба занести відповідну інформацію у файл /etc/sudoers. Це можна зробити тільки спеціальним редактором visudo
Приклад файла /etc/sudoers подано нижче
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
У файлі /etc/sudoers можна визначити псевдоніми (aliases) для комп”ютерів, користувачів, команд та задати конкретний список команд і на якій машині дозволено виконувати конкретному користувачу. Як правило при цьому запитують пароль. Відминити запит пароля можна опцією NOPASSWD, як у нижчннаведеному прикладі.
ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Користувач з іменем ray на машині rushmore зможе запускати програму /bin/kill без пароля /bin/ls, usr/bin/lprm - з паролем.
Висновок
На цій лабораторній роботі я ознайомився на практиці з базовими операціями адміністрування операційної системи.