Red Hat System Administration I 8.2

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

Задачи

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

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

Для управления локальными учетными записями пользователей можно использовать ряд утилит командной строки.

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

  • Команда useradd username создает нового пользователя с именем username. Она настраивает домашний каталог пользователя и сведения об учетной записи, а также создает частную группу для пользователя с именем username. На этом этапе у учетной записи нет пароля и пользователь не сможет войти в систему, пока не будет задан пароль.

  • Команда useradd --help отображает базовые опции, которые можно использовать для переопределения значений по умолчанию. В большинстве случаев те же опции можно использовать с командой usermod для изменения существующего пользователя.

  • Некоторые значения по умолчанию, например диапазон допустимых номеров UID и правила срока действия паролей по умолчанию, считываются из файла /etc/login.defs. Значения в этом файле применяются только при создании новых пользователей. Изменение этого файла не влияет на существующих пользователей.

Изменение существующих пользователей из командной строки

  • Команда usermod --help отображает основные опции, которые можно использовать для изменения учетной записи. Далее приведены некоторые распространенные опции.

    Опции usermodИспользование
    -c, --comment COMMENTДобавление настоящего имени пользователя в поле комментария.
    -g, --gid GROUPУказание основной группы для учетной записи пользователя.
    -G, --groups GROUPSУказание списка дополнительных групп для учетной записи пользователя, разделенных запятыми.
    -a, --append Используется с опцией -G для добавления дополнительных групп к текущему набору групп пользователя вместо замены набора дополнительных групп новым набором.
    -d, --home HOME_DIRУказание определенного домашнего каталога для учетной записи пользователя.
    -m, --move-homeПеремещение домашнего каталога пользователя. Необходимо использовать вместе с опцией -d.
    -s, --shell SHELLУказание определенной регистрационной оболочки для учетной записи пользователя.
    -L, --lockБлокирование учетной записи пользователя.
    -U, --unlockРазблокирование учетной записи пользователя.

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

  • Команда userdel username удаляет сведения о пользователе username из файла /etc/passwd, но не трогает домашний каталог пользователя.

  • Команда userdel -r username удаляет сведения о пользователе username из файла /etc/passwd, а также удаляет домашний каталог пользователя.

    Предупреждение

    При удалении пользователя с помощью команды userdel без опции -r в системе останутся файлы, принадлежащие неназначенному UID. Это также может произойти, если файл, владельцем которого был удаленный пользователь, находится вне домашнего каталога этого пользователя. Эта ситуация может привести к утечке информации и другим проблемам безопасности.

    В Red Hat Enterprise Linux 7 и Red Hat Enterprise Linux 8 команда useradd назначает новым пользователям первый свободный UID в диапазоне от 1000 и выше, если вы не укажете явно UID с помощью опции -u.

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

    Следующий сценарий демонстрирует эту ситуацию.

    [root@host ~]# useradd user01
    [root@host ~]# ls -l /home
    drwx------. 3 user01  user01    74 Feb  4 15:22 user01
    [root@host ~]# userdel user01
    [root@host ~]# ls -l /home
    drwx------. 3    1000    1000   74 Feb  4 15:22 user01
    [root@host ~]# useradd user02
    [root@host ~]# ls -l /home
    drwx------. 3 user02     user02       74 Feb  4 15:23 user02
    drwx------. 3 user02     user02       74 Feb  4 15:22 user01

    Обратите внимание, что теперь пользователю user02 принадлежат все файлы, которые ранее принадлежали пользователю user01.

    В зависимости от ситуации одно из решений этой проблемы ― удалять из системы все файлы без владельца при удалении создавшего их пользователя. Еще одно решение — вручную назначить файлы без владельца другому пользователю. Пользователь root может найти все файлы и каталоги без владельца с помощью команды find / -nouser -o -nogroup.

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

  • Команда passwd username задает начальный пароль или изменяет существующий пароль пользователя username.

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

    [root@host ~]# passwd user01
    Changing password for user user01.
    New password: redhat
    BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
    Retype new password: redhat
    passwd: all authentication tokens updated successfully.
    [root@host ~]# 
  • Обычному пользователю необходимо выбрать пароль длиной не меньше 8 символов, который не основан на слове из словаря, имени пользователя или предыдущем пароле.

Диапазоны номеров UID

Номера и диапазоны номеров UID используются системой Red Hat Enterprise Linux в определенных целях.

  • UID 0 всегда назначается учетной записи привилегированного пользователя (root).

  • UID 1–200 — это диапазон «системных пользователей», которых Red Hat статически назначает системным процессам.

  • UID 201–999 — это диапазон «системных пользователей», используемых системными процессами, которым не принадлежат файлы в файловой системе. Обычно они назначаются динамически из доступного пула, когда они необходимы для установленного программного обеспечения. Так как эти системные пользователи лишены прав, запускающиеся от их имени программы получают доступ только к ресурсам, которые необходимы им для работы.

  • UID 1000+ — это диапазон, доступный для обычных пользователей.

Примечание

До выхода RHEL 7 применялось следующее соглашение: номера UID 1–499 использовались для системных пользователей, а номера UID от 500 — для обычных пользователей. Диапазоны по умолчанию, используемые командами useradd и groupadd, можно изменить в файле /etc/login.defs.

Ссылки

Man-страницы useradd(8), usermod(8), userdel(8)