Linux Labs

Пользователи, права, процессы / Ступень 6 из 13

Учётные записи и их жизненный цикл

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · на машине · 4 мин

Учётная запись — строка в списке

Учётная запись — одна строка в файле /etc/passwd. Нет строки — нет пользователя, сколько бы каталогов с его именем ни лежало на диске.

Строку печатает getent passwd имя. Поля разделены двоеточиями:

bash
getent passwd student newhire
Поле У student
имя student
пароль x — сам пароль лежит в /etc/shadow
UID и GID основной группы 1000, 1000
комментарий пусто
домашний каталог /home/student
оболочка входа /bin/bash

Для newhire getent ничего не напечатала: такой строки нет. Владельца файла ядро хранит числом, а имя ls и id берут из этого списка. Для UID 1500 строки нет, и ls -l напечатала число. Так бывает после sudo userdel имя: без ключа -r он удаляет строку, а домашний каталог оставляет на диске.

Оболочка входа — программа, которую система запускает, когда пользователь входит. Обычно это /bin/bash.

Проверь себя 1 вопрос

Какую программу система запустит, когда deploy войдёт?

deploy:x:1001:1001::/home/deploy:/bin/sh
  • Оболочку входа задаёт последнее поле строки, у deploy там /bin/sh. /bin/bash стоит в строке student.

  • x значит, что пароль хранится в /etc/shadow. Есть ли он, покажет sudo passwd -S deploy.

  • Это домашний каталог, шестое поле: вход переходит в него. Запускает он программу из последнего поля.

Последнее поле строки — оболочка входа: у deploy это /bin/sh. Сменить её можно командой sudo usermod -s /bin/bash deploy.

Главное в шаге

  • Учётная запись — строка /etc/passwd: имя, UID, GID, домашний каталог и оболочка входа.
  • Каталог в /home учётную запись не создаёт и без неё ничего не значит.
Ubuntu 24.04
Загрузка…