Командний рядок Linux
Опанування нової операційної системи, як і нової програми, завжди пов'язане з найрізноманітнішими помилками, які тільки можна зробити (згадайте закони Мерфі). Відповідно, користуючись правами системного адміністратора, який має повну владу над системою, ви спочатку зробите найстрашніші помилки, тому завжди працюйте в Linux як звичайний користувач, отримуючи права адміністратора лише в крайніх випадках, використовуючи команду su. УВАГА Операційна система Linux не має права відмовити суперкористувачу root ні в чому; відповідно існує дуже серйозна загроза, що ви до опанування навичок роботи в операційній системі серйозно зіпсуєте файлову структуру або найважливіші службові файли. У такому разі, найімовірніше, вам доведеться заново запустити Linux (і, можливо, неодноразово). Отже, вчитися треба, маючи права користувача, який не може завдати непоправної шкоди системі. Операційна система Linux, як не раз уже говорилося - це розрахована на багато користувачів система, яка дозволяє одночасно працювати кільком користувачам. Тому перший крок, який ви повинні зробити після входу в систему як системний адміністратор, це навчитися реєструвати нових простих користувачів та змінювати їх паролі. Для реєстрації нового користувача в Linux системним адміністратором (зауважте, що тільки користувач з правами системного адміністратора може реєструвати нового користувача) існує команда adduser ім'я_нового_користувача наприклад: adduser ira В результаті виконання такої команди буде створено каталог /home/ira, в якому будуть записані службові файли (вони визначають конфігурацію системи для цього користувача), система зареєструє нового користувача та визначить його права за замовчуванням, ау текстовому файлі /etc/passwd додасться новий запис: ira. 500:500::/home/ira:/bin/bash У наведеному вище варіанті, перш ніж новий користувач зможе самостійно увійти в систему, йому доведеться зареєструвати в системі свій пароль за допомогою команди passwd: passwd ira New UNIX passwrd: введення_паролю Return new UNIX password: повтор_паролю passwd: all authentication tokens updated successfully Якщо новий користувач буде зареєстрований в системі, ви зможете, не припиняючи роботи системного адміністратора, увійти в систему іншим ім'ям та, відповідно, з іншими правами. Для цього треба скористатися можливістю перемикання на іншу віртуальну консоль за допомогою комбінації клавіш Alt+F2 (у графічному режимі використовуйте комбінацію клавіш Ctrl+Alt+F2). На екрані монітора ви знову побачите запрошення login: Оскільки ви зареєстрували вже нового користувача, то введіть його ім'я та пароль. Ви можете легко переключатися з консолі на консоль за допомогою комбінацій клавіш Alt+Fx. Будь-яка консоль дозволяє вводити різні команди, які не заважатимуть одна одній (робочі простори користувачів ізольовані одна від одної).
Ідентифікатори користувача та групи
Після реєстрації другого користувача в системі, у вас, очевидно, виникне питання: а як розшифрувати інформацію у файлі /etc/passwd? Але перш ніж ми займемося цим файлом, зупинимося на двох поняттях: ідентифікатор користувача та ідентифікатор групи. Ідентифікатор користувача (UID) – це номер, під яким система ідентифікує користувача всередині себе. Цікаво, що можна присвоїти один і той же ідентифікатор кільком користувачам, хоча це і не рекомендується. При реєстрації нового користувача бажано присвоїти йому один із вільнихідентифікаторів, причому такий, щоб він не займав перші номери — скажімо, до 100. Дізнатися, кому належить ідентифікатор, можна за допомогою команди grer 200 /etc/passwd iga:Jkn7t9yYU:200:100:Ira Ivanova: /home/ira:/bin/bash Ця команда шукає рядок з ідентифікатором користувача 200 у файлі /etc/passwd і виводить її на екран. Розділювачем у рядку є символ «:», а поля означають таке.
- ІРА. Ім'я користувача — це символьне ім'я користувача для входу до системи, яке має містити не більше 8 символів.
- Jkn7t9yYU. Пароль – пароль користувача в закодованій формі. Зверніть увагу, що кодування здійснюється досить складним алгоритмом шифрування, а не за допомогою простої підстановки, як це часто робиться в Windows. Якщо пароль не задано, то в цьому полі може бути символ «*» або «!!» (Такі ж символи будуть знаходитися в цьому полі, якщо використовується система тіньових паролів, що завжди робиться у всіх сучасних дистрибутивах).
- 200. Ідентифікатор користувача (UID) – номер користувача в системі.
- 100. Ідентифікатор групи (GID) – ідентифікатор групи, до якої входить користувач. Перелік груп міститься у файлі /etc/group. Групи введені для зручності присвоєння користувачеві прав на ресурси системи.
- Ira Ivanova. Розширене ім'я - ім'я користувача, призначене для людей. Може містити довільну інформацію про користувача, наприклад, прізвище або номер відділу.
- /home/ira. Домашній каталог - цей каталог користувач потрапляє відразу після входу в систему.
- /bin/bash. Оболонка, яка запускається для користувача при вході в систему (наприклад, /bin/sh).
Слід зазначити, що системний адміністратор може зареєструвати новогокористувача або змінити права вже існуючого, відкоригувавши рядки у файлі /etc/passwd, але тоді необхідно буде зробити додаткові операції з визначення прав користувача та створення його домашнього каталогу та конфігураційних файлів.
Команда who
Як тільки ви почнете експерименти з реєстрацією в системі різних користувачів, вам постає питання: а хто в даний момент знаходиться в системі? Питання дуже непросте, тому що Linux надає номер консолі черговому користувачеві досить довільно. Наприклад, першому користувачеві може бути відведена консоль tty6, а не ttyl. Та й за початкових експериментів можна заплутатися в консолях і користувачах. Щоб отримати інформацію про всіх користувачів, що увійшли в систему, використовують команду who dima tty3 Dec 2 09:27 root tty6Dec2 09:20 my :0 Dec 2 Символи :0 означає роботу у графічній оболонці. При використанні ключа -i ви отримаєте додатково інформацію про час простою кожного користувача або коли він востаннє спілкувався з системою who -i dima tty3 Dec 2 09:27 . root tty6 Dec 2 09:20 00:03 Для того щоб дізнатися, кому належить поточна консоль, використовується команда Whoami Зверніть увагу, що знання цих команд допоможе і при роботі в Інтернеті - наприклад, коли ви працюватимете у різних чатах, оскільки більшість серверів використовують той чи інший варіант UNIX-системы.