В чем разница между обычным пользователем и системным пользователем?

124

В некоторой документации, которую я просматриваю, есть логический переключатель, определяющий, является ли пользователь «системным» или «обычным» (по умолчанию «обычный»).

В чем разница между этими двумя режимами пользовательского корабля? Мне не нужно узнавать, что такое пользователь или зачем он вам нужен (даже «фальшивый»), но это различие не является для меня интуитивным.

Шон Оллред
источник

Ответы:

85

Это не техническая разница, а организационное решение. Например, имеет смысл показывать обычных пользователей в диалоговом окне входа в систему (чтобы вы могли щелкать их, вместо того, чтобы вводить имя пользователя), но при этом не показывались бы системные учетные записи (UID, под которыми работают демоны и другие автоматические процессы). ,

Таким образом, определяется граница или, вернее, два диапазона UID для двух групп. В openSUSE файл /etc/login.defsсодержит следующие строки:

# Мин. / Макс. Значения для автоматического выбора uid в useradd
#
От # SYS_UID_MIN до SYS_UID_MAX включительно - диапазон для
# UID для динамически распределяемых административных и системных учетных записей.
От # UID_MIN до UID_MAX включительно - это диапазон UID динамически
# выделенные учетные записи пользователей.
#
UID_MIN 1000
UID_MAX 60000
# Системные учетные записи
SYS_UID_MIN 100
SYS_UID_MAX 499

а также

# Мин. / Макс. Значения для автоматического выбора gid в groupadd
#
От # SYS_GID_MIN до SYS_GID_MAX включительно - диапазон для
# GID для динамически распределяемых административных и системных групп.
От # GID_MIN до GID_MAX включительно - это диапазон GID динамически
# выделенные группы.
#
GID_MIN 1000
GID_MAX 60000
# Системные учетные записи
SYS_GID_MIN 100
SYS_GID_MAX 499
Хауке Лагинг
источник
3
Стоит отметить, что в Debian и других системах системные правила скрыты для большинства (например, в правилах PAM, регулирующих выбор аутентификации системы), которые различаются в зависимости от того, превышают ли UID 1000 или меньше. Тщательно выбирайте свои UID.
Дейв
38

Основным отличием является назначение учетной записи, поэтому это, прежде всего, полезное различие для администраторов и аудиторов. Есть несколько технических отличий - от adduserдокументации:

Пользователи системы будут созданы без информации об устаревании /etc/shadow, а их числовые идентификаторы будут выбраны в диапазоне SYS_UID_MIN- SYS_UID_MAX, определенном /etc/login.defsвместо UID_MIN- UID_MAX(и их GID-аналоги для создания групп).

Насколько я могу судить (я не знаю Puppet), разница с точки зрения Puppet заключается в том, передает ли он -rопцию adduser.

Для более широкой перспективы см. Возможно ли «спрятать» учетную запись из / etc / passwd?

жилль
источник
В CentOS: Несмотря на то, что не useradd --system foouserсоздает домашний каталог для этого пользователя в соответствии с man-страницей useradd(8)(которая гласит: Обратите внимание, что useradd не будет создавать домашний каталог для такого пользователя, независимо от значения по умолчанию в /etc/login.defs (CREATE_HOME) Вы должны указать опции -m, если вы хотите создать домашний каталог для системной учетной записи. ) Домашний каталог нового пользователя foouserуказан как несуществующий /home/foouserв /etc/passwd.
Дэвид Тонхофер
Кроме того, UID выбирается путем обратного отсчета SYS_UID_MAX, обычно от 1000, поэтому у нас есть UID 998, например, для foouser.
Дэвид Тонхофер