1. Хто я в системі? Команда whoami
Кожен користувач Linux працює під конкретним обліковим записом, який має свої права, обмеження і належність до груп. У цій лекції ти навчишся перевіряти, з якого облікового запису ти працюєш, які у тебе права, і до яких груп ти належиш. Знання поточних параметрів користувача важливе як у повсякденній роботі, так і при вирішенні питань безпеки, адміністрування і налагодження.
Коли ти працюєш у системі Linux, корисно знати, під яким обліковим записом ти дієш у даний момент. Наприклад, якщо ти випадково працюєш у системі під привілейованим (root) користувачем, ти можеш внести непоправні зміни у системні файли. Щоб уникнути таких ситуацій, існує команда whoami.
Синтаксис
whoami
Що робить команда?
Команда whoami виводить ім'я поточного користувача, під яким здійснюється робота в системі. Вона відповідає на важливе запитання: "Хто я?"
Приклад
$ whoami
student
У цьому випадку вивід student означає, що ти ввійшов у систему під користувачем з ім'ям student. Якби ти працював від імені користувача з підвищеними правами (наприклад, root), вивід був би таким:
$ whoami
root
Чому це важливо?
Уяви, що ти використовуєш команду для видалення всіх файлів з директорії (наприклад, rm -rf /important_directory). Під звичайним користувачем система може тебе обмежити, якщо у тебе немає відповідних прав. А ось під користувачем root вона виконає твою команду без вагань. Команда whoami допомагає не опинитися в таких неприємних ситуаціях.
2. Детальне вивчення інформації про користувача: команда id
Знати своє ім'я користувача — це добре, але цього недостатньо для глибшого розуміння ваших прав та привілеїв у системі. Для більш детальної інформації існує команда id.
Синтаксис
id [користувач]
Якщо ім'я користувача не вказано, команда id покаже інформацію про поточного користувача. Якщо ви вкажете ім'я іншого користувача, то зможете перевірити деталі його облікового запису.
Що виводить команда id?
- UID (User ID) — унікальний ідентифікатор користувача.
- GID (Group ID) — унікальний ідентифікатор основної групи користувача.
- Список груп — усі групи, до яких належить користувач (включаючи основну).
Приклад
$ id
uid=1001(student) gid=1001(student) групи=1001(student),27(sudo),1002(developers)
- UID=1001: Це унікальний ідентифікатор поточного користувача (student). У системах Linux UID користувача
rootзавжди дорівнює 0. - GID=1001: Це ідентифікатор основної групи користувача (student).
- Групи=1001(student), 27(sudo), 1002(developers): Тут перераховані додаткові групи, до яких належить користувач. Наприклад, група
sudoдозволяє студенту виконувати команди від імені привілейованого користувача.
Якщо ми запустимо команду для іншого користувача:
$ id user2
uid=1002(user2) gid=1002(user2) групи=1002(user2),1001(developers)
Видно, що користувач user2 належить до групи developers.
3. Використання UID і GID у реальній роботі
Кожному користувачу і групі призначаються свої числові ідентифікатори (UID і GID відповідно). Вони відіграють надзвичайно важливу роль всередині системи, часто замінюючи текстові імена користувачів і груп. Для чого це потрібно?
- Деякі системні процеси працюють безпосередньо з числовими ідентифікаторами задля ефективності.
- Права доступу до файлів і папок визначаються не іменами користувачів або груп, а їх UID і GID.
- У конфігураційних файлах та журналах логів (наприклад,
/etc/passwd) ви можете зустріти не імена користувачів, а їх UID.
4. Досліджуємо групи з groups
Додатково ви можете використовувати команду groups, щоб дізнатися, до яких груп належить поточний користувач.
Синтаксис
groups [користувач]
Опустивши ім'я користувача, ви отримаєте список груп для поточного облікового запису. Вказавши ім'я користувача, дізнаєтеся групи для вказаного користувача.
Приклад:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Робота з командами
А тепер трохи практики, щоб закріпити отримані знання.
Перевірка поточного облікового запису
- Відкрийте термінал.
Виконайте команду:
whoamiПеревірте своє ім’я користувача.
- Запустіть команду
sudo su(вас попросять ввести пароль), а потім знову виконайтеwhoami, щоб побачити, під ким ви працюєте.
Дослідження інформації про користувача
Виконайте команду:
Перегляньте, який у вашого користувача UID, GID та до яких груп він належить.idСтворіть нового користувача (якщо у вас є доступ до команди
sudo):sudo adduser testuserПотім виконайте:
id testuser
Аналіз належності до груп
Виконайте:
groupsЗверніть увагу, до яких груп належить ваш користувач.
Додайте поточного користувача до нової групи:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)Перевірте результат:
groups
6. Типові помилки та каверзні моменти
Багато новачків плутають
whoamiіid. Пам'ятайте:whoamiпоказує тільки ім'я поточного користувача, аidдає більш детальну інформацію про права та групи.Якщо у вас немає привілеїв адміністратора (доступу до
sudo), у вас може не бути можливості додавати користувачів у групи або змінювати їх параметри. У таких випадках вам слід звернутися до адміна системи.Команда
idз указанням неіснуючого користувача видасть помилку:$ id nonexistinguser id: ‘nonexistinguser’: no such user
Тепер ви знаєте, як перевірити, який користувач наразі активний, з якими правами та доступами він працює. Команди whoami і id здаються простими, але вони відіграють ключову роль у розумінні системи користувачів і прав доступу в Linux. У реальній роботі ви будете часто використовувати їх для діагностики проблем, перевірки прав і налаштування користувачів.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ