Управління користувачами і обліковими записами
FreeBSD - розрахована на багато користувачів ОС, дозволяє одночасну роботу безлічі користувачів на одному комп'ютері
З кожної обліковим записом в системі FreeBSD пов'язана певна ідентифікаційна інформація:
- Ім'я користувача
- пароль
- ID користувача (User ID, UID) - номер від 0 до 65535 (може бути і більше), що використовується для однозначної ідентифікації користувача в системі. Будь-яка команда FreeBSD, що дозволяє вам вказувати ім'я користувача, насамперед перетворює його до UID. Також можна створити кілька облікових записів з різними іменами користувачів, але з одним UID
- ID групи (Group ID, GID) - це номер від 0 до 65535, який використовується для однозначної ідентифікації головною групи, до якої належить користувач.
- Клас логіна - це розширення до механізму груп для більш гнучкого управліннями користувачами.
- Час зміни пароля - змушує деяких користувачів міняти паролі після закінчення певного часу.
- Час закінчення дії облікового запису - обмежує тривалість життя облікового запису
- Повне ім'я користувача
- Домашній каталог
- Оболонка користувача - засіб для взаємодії з системою. Список доступних оболонок для користувача можна подивитися у файлі / etc / shells, можна встановити і додати в цей файл.
У FreeBSD існує чотири файли, які мають відношення до БД облікових карток. Всі вони знаходяться в директорії / etc.
Для чого потрібні два останніх файлу?
Справа в тому, що, хоча паролі зберігаються в зашифрованому вигляді, показавают їх всім, все одно, не рекомендується. Зловмисник, знаючи як виглядає зашифрований пароль, може, якщо і не розшифрувати його, то підібрати підходящий.
Тому, виставили відповідні права на ці файли:
spwd.db і pwd.db - призначені для прискорення пошуку.
Синтаксис файлу /etc/master.passwd:
Кожна нова рядок в файлі описує користувача, вона містить в собі стовпці розділені (:).
Стовпці по порядку:
Поле gecos - General information повністю може складатися з:
При створенні файлу / etc / passwd з файлу /etc/master.passwd поля class, change, expire видаляються, а пароль замінюється на *.
Поле логіна (name) не може починатися з символу (-), так само не радиться використовувати великі літери в імені користувача і розділяти логін символом (.), Що може викликати проблеми при роботі з поштою.
Існує 3 основних типи облікових записів:
- привілейований користувач (управління системою без обмежень)
- системні користувачі (запускають сервіси)
- Облікові записи користувачів
Приклади системних користувачів:
Програми для роботи з обліковими записами:
1) adduser - проста і інтерактивна програма для додавання користувачів
Вона створює записи в системних файлах passwd і group і копіює файли настройки за замовчуванням з / usr / share / skel.
2) rmuser - інтерактивна програма для повного видалення користувачів.
Ця програма робить:
- Видалення запису користувача з crontab.
- Видаляє завдання at, що належать користувачеві.
- Знищує всі процеси, що належать користувачеві.
- Видаляє користувача з локального файлу паролів.
- Видаляє домашній каталог користувача (якщо він належить користувачеві).
- Видаляє належить користувачеві вхідну пошту з / var / mail.
- Видаляє всі файли, що належать користувачеві, з каталогів з тимчасовими файлами, наприклад / tmp.
- Видаляє ім'я користувача з усіх груп, яким воно належить, в / etc / group (якщо група користувача порожня - видаляє і її).
3) chpass - змінює інформацію в БД користувачів
root - може змінювати будь-яку інформацію.
звичайні користувачі - можуть змінювати тільки shell, Full Name і персональну інформацію. При виході треба підтвердити сой пароль.
chfn, chsh, ypchpass, ypchfn і ypchsh - це посилання на chpass.
4) passwd - це звичайний спосіб зміни власного пароля користувача, або пароля іншого користувача root-ом.
5) pw - потужна утиліта для роботи з користувачами. Має багато ключів, підходить для використання в скриптах.
6) vipw - утиліта допомагає швидко додати користувача або модифікувати його за допомогою файлу /etc/master.passwd. Після редагування автоматично запускає pwd_mkdb, тобто створює 3 додаткові файлу - passwd, pwd.db, spwd.db.
7) id - відображення імені користувача, UID і груп в яких він складається із зазначенням їх GID.
8) finger - відображає інформацію про системний користувача.
9) users - показує список поточних користувачів.
10) who - показує тих хто знаходиться в системі.
11) whoami - показує ефективний id користувача відповідний імені.
12) last - показує коли користувач користувався терміналом.
13) lastlogin - показує інформацію про останньому використанні терміналу.
14) lastcomm - показує список останніх виконуємо команд користувачем.
15) ac - показує час, який користувач знаходився в системі.
16) sa - показує статистику по користувачах.
17) chfn - зміна призначених для користувача даних.
18) groups - показує хто до якої групи складається.
19) chgrp - зміна групи.
20) chkgrp - перевірка синтаксису файлу груп.
Можна зробити що нас не буде видно в w, who, yawho, whowatch. Зате буде видно в процесах і в sockstat.
Класи облікових записів визначаються в /etc/login.conf
Кожному користувачеві присвоєно клас (default за замовчуванням), і кожному класу присвоєно набір характеристик.
Характеристика визначається у вигляді пари
Система не читає настройки в /etc/login.conf. вона звертається до файлу БД /etc/login.conf.db для прискорення доступу до даних.
Для створення /etc/login.conf.db з /etc/login.conf, виконайте наступну команду:
Обмеження на ресурси:
М'яке обмеження може налаштовуватися користувачем або додатком, але не може перевищувати жорстке обмеження.
Жорстке може бути зменшено користувачем, але ніколи не збільшено.
Більшість обмежень ресурсів застосовуються до процесів користувача, а не до користувача взагалі.
Кожне поле у файлі /etc/login.conf може набувати таких значень:
Часто використовувані обмеження на ресурси:
Звернути увагу на те, що:
- Процесам, що завантажуються при старті системи скриптами / etc / rc присвоюється клас daemon.
- Багато обмеження застосовуються до окремих процесів, а не до користувача взагалі. Наприклад, установка openfiles в 50 означає, що кожен процес, запущений користувачем, може відкривати до 50 файлів. Таким чином, загальна кількість файлів, які можуть бути відкриті користувачем, обчислюється як openfiles * maxproc. Це також може бути застосовано до споживаної пам'яті.
Групи - просто список користувачів.
Імена груп зв'язуються з ID груп у файлі / etc / group. Група ідентифікується по імені і GID.
Файл / etc / group може бути безпечно відредагований вручну
Синтаксис файлу / etc / group:
Стовпці по порядку:
У групі може знаходиться не більше 200 користувачів. Максимальна довжина рядка в файлі / etc / group 1024 символів.