LinuxОС

Пользователи Ubuntu

Тема моей сегодняшней статьи – пользователи Ubuntu. В операционной системе рекомендуется создавать минимум 2 пользователя. Один пользователь – это администратор (он же root) и пользователь с обычными правами. Работать в системе рекомендуется от имени обычного пользователя и в случае необходимости выполнять команды от пользователя с повышенными правами.

Рассмотрим подробнее как создавать, управлять, удалять пользователей. Полезные утилиты по надзору за пользователями и прочее. Начнем с простого, как управлять пользователем используя графический интерфейс.

Управление пользователями через GUI

Управление пользователями через графический интерфейс предельно простое. Без особых изыском можно создать, удалить или изменить пользователя. Нажимаем Обзор -> Настройки -> Пользователи

Пользователи в Ubuntu

Тут можно изменить имя, пароль и параметры входа в систему. Удалить пользователя можно только другого, не того под которым зашли. Тут же можно посмотреть активность текущей учетной записи

Активность учетной записи

При добавлении пользователя можно выбрать тип учетной записи: Администратор или Обычная

Добавление пользователя

Управление пользователями в графическом интерфейсе не блещет кучей разных настроек. Если хочется более детального управления нужно использовать консоль.

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

Использование консоли позволяет значительно расширить возможности по созданию, изменению, удалению пользователей. В дистрибутивах Linux списки учетных данных пользователей хранятся в файле /etc/passwd, рассмотрим его подробнее.

Содержимое файла /etc/passwd

В указанном фале хранятся записи о всех учетных данных пользователей в системе. Вот небольшой пример моего файла passwd с ОС Ubuntu

/etc/passwd

Формат записи в файл:

login:password:UID:GID:GECOS:home:shell

  • login – имя учетной записи
  • password – устаревшее поле, вместо пароля стоит x. Хеш пароля хранится в файле /etc/shadow
  • UID – идентификатор пользователя
  • GID – идентификатор группы
  • GECOS – дополнительное поле. Хранит информацию о пользователе: ФИО, номер телефона, адрес и т.п.
  • home – домашний каталог пользователя
  • shell – оболочка используемая при входе пользователя в систему. Например bash или sh. Также указывают /usr/sbin/nologin если вход пользователя в систему не предусмотрен.
Создание пользователей

В Ubuntu есть две утилиты для создания пользователя useradd и adduser

Создание пользователя используя useradd
sudo su

Создать пользователя можно используя команду useradd. Она работает на более низком уровне позволяя внести большое количество параметров при создании пользователя. Не забывайте запускать терминал с повышенными правами. Чтобы каждый раз не писать sudo я всегда захожу под su (super user – он же root)

Рассмотрим некоторые из возможных параметров при создании пользователя

useradd --help
  • -b – базовый каталог для домашнего каталога новой учётной записи
  • -d – домашний каталог новой учётной записи
  • -D – показать или изменить настройки по умолчанию для useradd
  • -e – дата устаревания новой учётной записи
  • -f – период неактивности пароля новой учётной записи
  • -g – имя или ID первичной группы новой учётной записи
  • -G – список дополнительных групп новой учётной записи
  • -k – использовать альтернативный каталог с шаблонами
  • -l – не добавлять пользователя в базы данных lastlog и faillog
  • -m – создать домашний каталог пользователя
  • -M – не создавать домашний каталог пользователя
  • -N – не создавать группу с тем же именем что и у пользователя
  • -p – зашифрованный пароль новой учётной записи
  • -r – создавать системную группу
  • -U – создать группу с тем же именем что и у пользователя

Создадим пользователя с минимальным набором параметров

useradd vasya

Результатом выполнения команды станет создание пользователя vasya с дефолтными настройками. Давайте посмотрим что добавилось в файл /etc/passwd

vasya:x:1001:1001::/home/vasya:/bin/sh

Был создан vasya с домашней директорией /home/vasya и рабочей оболочкой /bin/sh

Однако, если зайти в каталог /home никакого каталога vasya там не будет. Подразумевается что вы вручную должны создать директорию для Васи и выдать ему доступ к ней. Это конечно все не удобно, поэтому при создании пользователя используйте ключ -m

useradd petya -m

Посмотрим на директорию /home

Список папок в каталоге home

Каталог для Пети на месте и права на него установлены. Пользователя мы создали, но войти в систему он не сможет пока не задан пароль.

Установить пароль пользователя

Установить пароль пользователя можно с помощью команды passwd

passwd petya

Используя passwd можно делать разные вещи с паролем пользователя. Удалить пароль ключ -d или заблокировать учетную запись -l

Создадим пользователя с рабочим каталогом изменим рабочую оболочку и добавим в нужные группы

useradd -m -G adm,sudo,users -s /bin/bash mark

Разберем подробнее:

  • -m – создаем каталог для пользователя
  • -G – перечисляем список групп в которые будет добавлен пользователь
  • -s – указываем рабочую оболочку

Кстати, список всех групп в системе можно увидеть в файлике /etc/group

Стандартные настройки пользователя

При создании пользователя система автоматически присваивает часть стандартных настроек. Увидеть настройки можно командой useradd -D

useradd -D
Стандартные настройки

Разберем настройки подробнее

  • GROUP – номер групп в нашей операционной системе. Практического значения не имеет
  • HOME – домашний каталог для пользователей. По умолчанию /home
  • INACTIVE – количество дней которые пройдут после устаревания пароля. После этого учетная запись пользователя будет заблокирована
  • EXPIRE – указываем дату когда будет заблокирована учетка пользователя. Обычно не указывается.
  • SHELL – командная оболочка
  • SKEL – каталог содержит файлы по умолчанию. При создании нового пользователя они копируются в домашний каталог.
  • CREATE_MAIL_SPOOL – если стоит yes пользователю будет создан каталог для писем в /var/spool/mail/

Данные настройки хранятся в файле /etc/default/useradd изменить их можно редактированием файла. Рекомендую использовать для изменения дефолтных настроек команду useradd -D . Пример изменения стандартной командной оболочки на bash

useradd -D -s /bin/bash

После ключа -D указываем необходимый ключ и задаем новое значение для указанного параметра.

Создание пользователя используя adduser

Вторая утилита позволяющая создать пользователя в Ubuntu называется adduser. Она более дружелюбна и позволяет в интерактивном режиме внести полную информацию по пользователю. Основные данные включая внесение пароля и создание директории. Рекомендую использовать именно adduser для заведения пользователей.

adduser igor
adduser igor

Данные можно заносить как в интерактивном режиме так и с использованием ключей. Их тут конечно не так много как в useradd но практически все что нужно есть.

Изменение пользователей

Изменить данные пользователя можно используя команду usermod. Она имеет множество разных параметров, перечислю некорые из них:

  • -c – новое значение поля GECOS
  • -d – новый домашний каталог учётной записи
  • -e – установить дату окончания действия учетной записи
  • -f – установить период неактивности пароля после устаревания учётной записи
  • -g – принудительно назначить первичную группу
  • -G – указать список дополнительных групп
  • -a – добавить пользователя в дополнительные группы указанные в параметре -G не удаляя пользователя из других групп
  • -l – новое значение имени учётной записи
  • -L – заблокировать учётную запись
  • -m – переместить содержимое домашнего каталога в новое место. Данный параметр используется только вместе с -d
  • -p – задать новый пароль
  • -s – изменить рабочую оболочку
  • -U – разблокировать учётную запись

Возьмем пользователя igor и изменим ему рабочую оболочку на sh

usermod igor -s /bin/sh

Добавим пользователя petya в группу sudo

usermod -aG sudo petya
Удаление пользователей

Удалить пользователя можно командой userdel, краткий список ключей ниже

  • -f – удалять файлы в домашнем каталоге, даже если они не принадлежат пользователю
  • -r – удалить домашний каталог и почтовый ящик

Давайте удалим нашего пользователя igor с домашним каталогом и всеми файлами в нем

userdel igor -r -f
userdel igor

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

Контроль пользователей в системе

Для контроля работы пользователей в Ubuntu есть несколько встроенных утилит. Рассмотрим некоторые из них.

w

Показывает кто из пользователей вошел в систему и что делает. Рассмотрим подробнее команду и ключи к ней

w
  • -h – не выводить заголовок
  • -s – сокращённый формат
  • -f – показать поле имени удалённого хоста
  • -o – вывод в старом стиле
  • -i – отображать IP-адрес вместо имени хоста (если возможно)

Вывод команды w без указания дополнительных параметров:

w

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

last

Показывает историю входа пользователей в систему. Информация формируется на основе файла /var/log/wtmp

Список основных праметров:

  • -a – отобразить имена хостов в последней колонке
  • -d – перевести IP-адрес обратно в имя хоста
  • -f – использовать указанный файл вместо /var/log/wtmp
  • -F – показать полное время и дату входа и выхода из системы
  • -w – показывать полные имена пользователя и домена

Пример вывода:

last
lastlog

Командой lastlog можно увидеть дату последнего входа пользователя в систему

Параметры вывода:

  • -b – показать записи lastlog за последнее указанное количество дней
  • -C – очистить запись lastlog пользователя. Работает только с параметром -u
  • -S – поставить в записи lastlog текущее время. Только вместе с -u
  • -t – показать записи lastlog за указанное количество дней
  • -u – показать запись lastlog для конкретной учётной записи

Давайте поглядим когда последний раз пользователь Вася заходил в систему

lastlog -u vasya
lastlog -u vasya
faillog

Показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему. Рассмотрим возможные параметры:

  • -a – показать записи faillog для всех пользователей
  • -l – заблокировать учётную запись после неудачных попытки входа на указанное количество секунд
  • -m – установить максимальное количество неудачных попыток входа
  • -r – сбросить счётчик неудачных попыток входа
  • -t – показать записи faillog за указанное количество дней
  • -u – показать записи faillog только для указанного пользователя

Зададим для Пети максимальное количество неудачных попыток входа равное 10 после чего будет блокировка на 360 секунд

faillog -u petya -m 10 -l 360
faillog

Все утилиты прекрасно работают с grep так что их использование становится очень удобным.

Видео к статье:

Поделиться:
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии