Работа с группами и пользователями

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

  • Пользователь (user) - является концептом безопасности в системе.

    • Пользователи создаются для предоставления людям или процессам доступа к системным ресурсам

  • Процессы используют системные аккаунты

  • Для людей используются регулярные пользовательские аккаунты

Атрибуты пользователей

  • Имя пользователя

  • Пароль

    • Пароль хранится в отдельном файле, etc/shadow, здесь он выставлен в x

  • UID - уникальный идентификатор пользователя

  • GID - идентификатор группы пользовалея

  • GECOS - дополнительная, необязательная информация о пользователе

  • Home Directory - среда, в которой пользователь создает личные файлы

  • Shell - программа, которая запускается при успешном логине пользователя

[admin@centos8 ~]$ sudo cat /etc/passwd
[sudo] password for admin: 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
<...>
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
admin:x:1000:1000:Administrator:/home/admin:/bin/bash

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

  • useradd - создание аккаунта пользователя

    • useradd -c - добавить информацию в GECOS

    • useradd -s - изменить shell для пользователя

    • useradd -p - установить пароль в шифрованном виде

  • usermod - изменения аккаунта пользователя

    • usermod -G - изменить группы

    • usermod -a - добавить пользователя в группу

  • userdel - удаление аккаунта пользователя

    • userdel -f - принудительное удаление

    • userdel -r - удаление с домашней папкой и почтой

  • passwd - назначить пароль для аккаунта

    • passwd -l - заблокировать пользователя

    • passwd -u - разблокировать пользователя

Управление дефолтными настройками

  • useradd -D - определяет настройки по-умолчанию для пользователя

  • Содержимое /etc/default/useradd применяется только для useradd

    • Параметр GROUP=100 является наследуемым признаком, ранее все пользователи помещались в группу USERS по-умолчанию, теперь механизм другой

  • Альтернативно, дефолтные настройки записываются в /etc/login.defs

  • Файлы в /etc/skel создаются для пользователя до момента создания home директории

    • Если поместить сюда файл, то он будет перенесен в домашнюю директорию пользователя

Passwd и shadow файлы

  • /etc/passwd используется для хранения пользовательских параметров

    • Linux оперирует не именами, а ID

    • Рут всегда имеет ID, равный нулю

    • Соответственно если любой другой пользователь получит ID, равный нулю, то он получит полный доступ к системе

  • /etc/shadow хранит пользовательские пароли, вернее хэши от них

    • 18078 - время от 01 января 1970 года, когда был создан пароль для пользователя

    • Исчисление времени в Linux осуществляется с этой даты, 01.01.1970 называется EPOCH

    • 0 - PASS_MIN_DAYS

    • 99999 - PASS_MAX_DAYS

    • 7 - количество дней до истечения пароля, когда пользователь будет об этом уведомлен

    • !! - пароль отключен для пользователя

  • /etc/group используется для хранения атрибутов групп

    • Число за x - держатель пароля группы, более неиспользуемая функция

    • bill - пользователь, для которого эта группа является secondary

      • Все пользователи являются членами primary группы, которая обозначена в GID в /etc/paswd, остальные группы для него будут secondary

Особенности групп

  • Каждый пользователь должен быть членом хотя бы одной группы

  • Принадлежность к Primary группе управляется через etc/passwd

  • Primary группа пользователя становится и владельцем файла, который создает пользователь

  • Secondary группы управляются через etc/groups

  • Команда id показывает принадлежность пользователя к группе

Создание и управление группами

  • groupadd - добавление групп

  • groupdel - удаление групп

  • groupmod - изменение параметров групп

  • lid -g <groupname> - показать пользователей в заданной группе

Управление паролями

  • Базовые требования к паролям хранятся в etc/login.defs

  • Для расширенных атрибутов могут быть использованы Pluggable Authentication Modules (PAM)

    • pam_tally2

  • chage - изменить пароль пользователя

  • passwd также позволяет управлять паролями (блокировка\разблокировка)

Last updated

Was this helpful?