При создании новых пользователей надо совершить последовательность из нескольких действий. Во-первых, на пользователя заводится запись в файле /etc/passwd, где пользователю даются уникальные имя и UID. Также указываются GID, реальное имя и другая информация. Дальше создается домашний каталог пользователя, и права доступа устанавливаются так, что этим каталогом владеет данный пользователь. В каталог помещаются файлы инициализации программной оболочки. Также во всей системе модифицируются конфигурационные файлы (например, хранилище (spool) для приходящей пользователям электронной почты).
Вручную создавать пользователей не так трудно, однако когда эксплуатируется система с большим количеством пользователей, может оказаться забытой какая-нибудь деталь. Проще всего в этом случае создавать новых пользователей посредством интерактивной программы, которая автоматически обновляет содержимое всех нужных системных файлов. Такая программа называется useradd или adduser, в зависимости от того, какое программное обеспечение установлено.
Программа adduser берет информацию из файла /etc/adduser.conf, в котором содержится стандартная начальная конфигурация информации для всех новых пользователей.
Ниже показан типичный файл /etc/adduser.conf.
# /etc/adduser.conf: Конфигурация программы `adduser'.
# Полная документация дана в adduser(8) и в adduser.conf(5) .
# Переменная DSHELL определяет начальную оболочку при входе
# в систему по умолчанию
DSHELL=/bin/bash
# Переменная DHOME определяет каталог, в котором хранятся
# все домашние каталоги пользователей.
DHOME=/home
# Если переменная GROUPHOMES равна "yes", то домашние
# каталоги будут созданы под именами /home/groupname/user.
GROUPHOMES=no
# Если переменная LETTERHOMES равна "yes", то создаваемый
# домашний каталог будет в подкаталоге, имя которого
# состоит из одной буквы, например, /home/u/user.
LETTERHOMES=no
# Переменная SKEL определяет каталог, в котором хранятся
# 'скелетные' файлы пользователя (т.е. такие, как образец
# файла .profile) и из которого они будут копироваться в
# домашние каталоги новых пользователей при их создании.
SKEL=/etc/skel
# С FIRST_SYSTEM_UID по LAST_SYSTEM_UID включительно:
# диапазон значений UID для динамически размещаемых
# системных и административных пользователей.
FIRST_SYSTEM_UID=100
LAST_SYSTEM_UID=999
# С FIRST_UID по LAST_UID включительно: диапазон значений
# UID для динамически размещаемых пользователей.
FIRST_UID=1000
LAST_UID=29999
# Переменная USERGROUPS может принимать значения "yes" либо
# "no". В случае "yes" каждый пользователь будет по
# умолчанию в своей собственной группе, и именем его
# домашнего каталога будет g+s. В случае "no" каждый
# создаваемый пользователь будет помещен в группу,
# GID которой равен USERS_GID (см. ниже).
USERGROUPS=yes
# Если USERGROUPS = "no", то переменная USERS_GID должна
# содержать GID группы `обычных пользователей' (или ее
# эквивалента).
USERS_GID=100
# Если переменной QUOTAUSER дается значение, то по нему
# будет установлена квота по умолчанию командой
# `edquota -p QUOTAUSER newuser'
QUOTAUSER=""
Файл /etc/adduser.conf дает исходные значения переменным, которые используются программой adduser. Кроме того, этот файл указывает, где находятся файлы конфигурации системы по умолчанию для каждого пользователя. В приведенном примере эти файлы находятся в каталоге /etc/skel, что задается строчкой SKEL=. Файлы, которые помещаются в этот каталог (такие, как файл .profile, устанавливающий режим по умолчанию во всей системе, а также файлы .tcshrc или .bashrc), будут автоматически скопированы в домашний каталог создаваемого пользователя командой adduser.