Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Мета роботи. Отримати практичні навички адміністрування користувачів і контролю над процесами в ОС сімейства UNIX





Отримати практичні навички адміністрування користувачів і контролю над процесами в ОС сімейства UNIX.

4.2 Теоретичні відомості

4.2.1 Загальні задачі управління користувачами

Багато сучасних застосувань вимагають підтримки колективної роботи, авторизації і автентифікації користувачів, природно, в основному ці функції покладаються на розраховану на багато користувачів операційну систему, в якій можна розмежувати ресурси і права між користувачами і/або групами користувачів.

Концепція захисту, прийнята в сучасних ОС, базується на апаратному захисті коду операційної системи і ресурсів ПК за допомогою розділення процесів на привілейовані і призначені для користувача. Доступ до усіх ресурсів мають тільки привілейовані процеси, призначені для користувача процеси повинні звертатися до сервісних підпрограм ОС. Надання призначеним для користувача програмам прав на безпосереднє звернення до ресурсів потенційно небезпечно для будь-якої системи!

Операційна система на основі внутрішніх структур даних, що називаються 'матрицею прав доступу' приймає рішення про правомочність тих або інших дій користувача. У UNIX матриця прав доступу задається файлами 'passwd' і 'group ', а також індексними дескрипторами файлів.

Адміністрування користувачів включає наступні завдання:

— створення і видалення користувачів і груп;

— призначення і зміна паролів;

— налаштування прав доступу;

— контроль цілісності системної бази даних про користувачів;

— контроль використання дискового простору;

— контроль призначених для користувача процесів.

Усі перелічені вище завдання в тому або іншому ступені піддаються автоматизації.

4.2.2 Стандартні системні файли

1. /etc/passwd – файл, що визначає основні призначені для користувача параметри.

2. /etc/group – файл, що визначає групи користувачів.

3. /etc/aliases – поштові псевдоніми користувачів. Після зміни цього файлу необхідно виконувати команду 'newaliases'.

4. /etc/profile – командний файл, що виконується при вході в систему будь-якого користувача.

4.2.3 Команди управління користувачами, їх файлами та процесами

Нижче приведено кілька корисних команд для роботи з користувачами, їх файлами і процесами:

adduser [опції] ім'я_ користувача

useradd [опції] ім'я_ користувача

- додати користувача.

userdel [-r] ім'я_ користувача

- видалити користувача з системи.

edquota [опції] ім'я_ користувача. … | ім'я_ групи… | -t

- назначити дискову квоту.

vipw [опції]

- дозволяє редагувати файл passwd з розрахуванням особливостей системи.

last [опції]

-показати інформацію про сеанси роботи користувачів.

fuser [опції] им'я_файлу …

- визначити процеси, які використовують вказані файли або сокети.

setfacl [опції] им'я_файлу …

- задати для файлу(ів) список управління доступом (ACL- Access Control List).

getfacl [опції] им'я_файлу …

- показати список управління доступом (ACL).

su [опції]

-запустити командний інтерпретатор з заміною ідентифікатора користувача і групи.

sudo [опції] команда

- запустити команду з правами іншого користувача.

kill [опції] PID …

- надіслати процесу сигнал.

strace [опції] команда

- запустити програму в режимі моніторингу системних викликів, сигналів, системних збоїв, и т. п.

top [опції]

- видати відсортований список процесів у системі.

ps [опції]

- видати інформацію про процеси.

Команда 'ps' має велику кількість опцій, що дозволяють використати її виведення в командних файлах(утилітах). Наприклад, отримати тільки номери процесів, що виконують заданий командний рядок "mc", можна так:

sh# ps –no-headers –C mc –o “%p”.

Вам відповідно до свого варіанту пропонується реалізувати будь-якими відомими засобами одне з приведених нижче завдань.

4.2.4 Управління користувачами. Користувачі з точки зору UNIX

Система реєструє наступну інформацію про кожного користувача.

Ім’я користувача (user name) Це ім’я повинно буди унікальним в рамках системи. В іменах можуть бути використані тільки англійські літери, числа і символи _ і.(крапка).

Ідентифікаційний номер користувача (User ID). Цей номер, скорочено позначається як UID, є унікальним ідентифікатором користувача в системі, Взагалі кажучи, система відстежує користувачів за їх номерами UID, а не по іменах.

Ідентифікаційний номер групи (group ID). Цей номер (скорочено GID) позначає групу, до якої за замовчуванням відноситься користувач. Групи дозволяють регулювати доступ багатьох користувачів до різних ресурсів. Кожен користувач належить одній або кільком групам, і цю приналежність встановлює системний адміністратор.


Пароль (password) Це зашифрований (encripted) пароль користувача. Для створення і зміни пароля використовується команда passwd. В системі користувачам дозволено самостійно змінювати пароль за допомогою утиліти passwd, зазвичай знаходиться /usr/bin/passwd. Власником passwd є користувач root оскільки утиліта працює з файлом /etc/passwd який може модифікувати тільки користувач root. Щоб непривілейований користувач міг працювати з системним файлом (тобто змінити свій пароль) на утиліті passwd повинен бути встановлений біт SUID (при запуску на виконання файл отримує не права того хто запустив його, а права власника файлу). Якщо встановлені права доступу SGID, то це рівнозначно установці біта SUID, тільки успадковуються права не власника файлу, а групи власника. Якщо встановити SGID на каталог, то файли в цьому каталозі будуть мати такі ж установки як і установки каталогу.

Повне ім'я (full name) Крім системного імені користувача, в систему заноситься і зберігається ім'я (прізвище і т. д.) «реального» користувача. Наприклад, користувачеві smitj в реальному житті може відповідати людина на ім'я Jon Smit.

Домашній каталог (home directory) Ця назва каталогу, в який потрапляє користувач після того, як він увійшов в систему (зареєструвався, login), і де зберігаються його власні файли. Такий каталог є у кожного користувача, і всі такі каталоги зібрані в один каталог, зазвичай названий /home.

Початкова оболонка (login shell) Командна оболонка, яка запускається при вході в систему. Наприклад, /bin/bash або /bin/sh.

Вся ця інформація зберігається в файлі /etc/passwd. Кожен рядок у файлі має формат: ім'я користувача: зашифрований пароль: UID: GID: повне ім'я: домашній каталог: оболонка Наприклад:

kiwi:Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash

У деяких системах є «тіньові паролі» (shadow passwords), коли інформація про пароль зберігається в файлі /etc/shadow. Така схема є дещо більш безпечною, оскільки файл /etc/passwd може читатися ким завгодно, а права доступу до файлу /etc/shadow набагато сильніше обмежені.

Тіньові паролі також забезпечують інші функції, наприклад, минання терміну дії пароля.

4.2.5 Створення нових користувачів

При створенні нових користувачів треба зробити послідовність з декількох дій. По-перше, на користувача заводиться запис у файлі /etc/passwd, де користувачеві даються унікальні ім'я і UID. UID звичайних користувачів повинні бути більше 100, оскільки низькі UID зарезервовані для системних цілей. Також вказуються GID, реальне ім'я та інша інформація. Далі створюється домашній каталог користувача, і права доступу встановлюються так, що цим каталогом володіє даний користувач. До каталогу поміщуються файли ініціалізації командної оболонки. Також у всій системі модифікуються конфігураційні файли (наприклад, сховище (spool) для присланих користувачам електронних листів).

Вручну створювати користувачів не так важко, проте коли експлуатується система з великою кількістю користувачів, може виявитися забутою якась деталь. Найпростіше в цьому випадку створювати нових користувачів за допомогою інтерактивної програми, яка автоматично оновлює вміст всіх потрібних системних файлів. Така програма називається useradd або adduser, залежно від того, яке програмне забезпечення встановлено.


У файлі /etc/default/ useradd міститься інформація про стандартну початкову конфігурацію для всіх нових користувачів. У цьому файлі задаються значення змінним, які використовує програма useradd. Крім того, цей файл вказує, де знаходяться конфігураційні файли містять налаштування за замовчуванням. Розташування цих файлів задається змінною SKEL. Файли, що містяться в цей каталог (такі, як файл. Profile, який встановлює режим за замовчуванням у всій системі, а також файли. Zshrc або. Bashrc), будуть автоматично скопійовані в домашній каталог створюваного користувача командою useradd.

4.2.6 Видалення користувачів

Видалення користувачів із системи може бути віконне командою userdel або deluser. Якщо потрібно тимчасово заборонити користувачеві вхід в систему, але не видаляти його домашній каталог та інші зроблені установки, можна просто поставити зірочку (символ *) в те поле файлу /etc/passwd, де знаходиться пароль. Наприклад, таким чином змінена рядок для користувача kiwi буде виглядати як

kiwi: * Xv8Q981g71oKK: 102:100: Laura Poole: /home/kiwi:/bin/bash

При цьому вхід в систему користувача kiwi стане неможливим.

4.2.7 Установка атрибутів користувача

Після того, як створено ім'я нового користувача, може виявитися потрібним змінити атрибути цього користувача, наприклад, домашній каталог або пароль. Найпростіший спосіб зробити це – просто поміняти інформацію у файлі /etc/ passwd. Для створення пароля потрібно використовувати команду passwd. Так, команда passwd larry змінить пароль користувача larry. Змінювати паролі будь-яких користувачів може тільки користувач root, однак свої паролі користувачі можуть змінювати самі, віддаючи команду passwd без параметрів.

4.2.8 Групи користувачів

Як зазначалося вище, кожен користувач належить одній або декількох груп. Єдине, що є істотним у приналежності до тієї чи іншої групи – це права доступу. Для кожного файлу визначений не тільки користувач-власник, а й група-власник, і набір прав доступу, які визначають, як користувачі з цієї групи можуть здійснювати доступ до цього файлу.

При створенні нового користувача створюється також група, ім'я якої збігається з ім'ям користувача і куди входить тільки він один.

Є декілька груп, визначених системою, наприклад, bin, mail, sys. Ці групи створені для оформлення прав доступу до системних файлів, і користувачі не повинні належати до цих груп. Для користувачів створюються спеціальні групи, наприклад, users. Для користувачів можна створити декілька груп, наприклад, student, staff, faculty.

Інформація про групи міститься у файлі /etc/group. Формат кожного рядка такий:

назва групи: пароль: GID: інші члени групи


Приклади груп:

root: *: 0:

users: *: 100: mdw, larry

guest: *: 200:

other: *: 250: kiwi

Перша група – root – спеціальна група для користувача root. Друга група –users – містить звичайних користувачів. GID цієї групи дорівнює 100, і в неї входять користувачі mdw і larry. Нагадаємо, що у файлі /etc/passwd кожному користувачеві визначена його група за замовчуванням. Тим не менш, користувачі можуть належати до більш ніж одній групі, і це здійснюється за допомогою перерахування їх імен у файлі /etc/group. Команда groups перераховує список груп, яких стосується (має доступ) даний користувач.

Третя група називається guest і призначена для відвідувачів. Для інших користувачів створено групу other; в цю групу занесений користувач kiwi.

Іноді в файлі /etc/group заповнюється поле password (пароль) для того, щоб встановити пароль на груповий доступ. Це потрібно рідко. Для того, щоб не дозволяти користувачам проникати в привілейовані групи (командою newgroup), в це поле треба поставити символ *.

Для створення нових груп користувачів можуть бути використані команди addgroup або groupadd. Зазвичай легше внести вручну нову сходинку в файл /etc/group, оскільки ніякого іншого конфігурування не потрібно. Для видалення групи можна просто видалити відповідний рядок у файлі /etc/group.







Date: 2015-12-12; view: 456; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.02 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию