В unix системах действует определенная иерархия пользователей. Следует понять, что в системе существует главный пользователь обладающий всеми правами - root. Остальные пользователи так или иначе ограничены в своих правах. Отсюда существует правило - работать в системе под ограниченным пользователем, и только для выполнения административных задач переключаться в суперпользователя root.
У каждого пользователя в системе существует свой домашний каталог, в котором хранятся все личные настройки в виде конфигурационных файлов, по умолчанию этот каталог располагается в /usr/home, на который ведет символическая ссылка /home. Грубо говоря, для того чтобы установить ПО, управлять системными процессами, вносить изменения в системные файлы, настраивать сеть, монтировать диски, нужно будет переключаться в суперпользователя root, а для обычной повседневной деятельности (работа с документами, интернет, мультимедия и т.д.) достаточно простого пользователя. Если игнорировать это правило и использовать аккаунт root для повседневной деятельности, на порядок повышается уязвимость системы, так как все процессы будут запущены с правами суперпользователя, к примеру - браузер запущенный таким образом - грубейшее игнорирование правил безопасности системы. Злоумышленник, используя какую-либо уязвимость браузера, теоретически сможет получить полный доступ к управлению системой. К примеру, такой неправильный подход к безопасности - как работа интернет браузера с полными правами, реализован в операционных системах семейства Windows (собственно, там фактически нет нормального разделения прав пользователей), что приводит к простому механизму поражения системы, при помощи простого захода на зараженный сайт. Чтобы свести подобные вероятности к минимуму следует работать в системе в качестве пользователя и только при необходимости переключаться в суперпользователя root.
Каждый пользователь в системе может принадлежать к одной или нескольким группам. Членство в какой то определенной группе дает пользователю дополнительно те или иные права. К примеру, чтобы наш пользователь смог переключаться в суперпользователя, его следует поместить в группу wheel, это группа системных администраторов системы, к которой принадлежит root. В системе каждый пользователь (и группа) имеет свой идентификационный номер, пользователь root и группа wheel имеют при этом нулевые идентификаторы. В системе так же имеется масса пользователей не имеющих возможности подключиться в систему и не имеющие пароля авторизации, для системных нужд. Пример - пользователь ftp, от его имени выполняется штатный ftp сервер. Таких пользователей несколько.
Итак, наша задача создать пользователя - системного администратора, с авторизацией по паролю и возможностью входа в систему. Для этого входим в систему как суперпользователь root и набираем команду:
После выполнения на дисплее появится следующий диалог для ввода данных. Запросы идут друг за другом, следует вводить необходимые данные и нажимать "enter":
Набираем имя пользователя (в данном случае "testuser"), которое будет использоваться для входа в систему:
Набираем полное имя, это имя будет фигурировать в личном профиле пользователя, его можно пропустить просто нажав "enter":
В этой строке можно принудительно указать идентификационный номер пользователя, в нашем случае мы просто нажимаем "enter", представляя системе самой присвоить свободный идентификатор:
В эту строку следует ввести группу к которой будет принадлежать пользователь в системе, по умолчанию имя группы аналогично имени пользователя, такая группа не будет обладать никакими дополнительными правами, а наша задача состоит в том, чтобы создать системного администратора, поэтому мы вводим имя группы системных администраторов "wheel" и нажимаем "enter":
Данный запрос мы тоже пропускаем, это запрос о том, стоит ли сделать пользователя членом еще каких либо групп в системе, в нашем случае достаточно лишь одной группы "wheel", которую мы уже указали выше:
Этот запрос мы тоже пропускаем, изменение этого параметра мы будем рассматривать ниже в статье о русификации, фактически в этой строке можно сразу задать класс пользователя "russian" для определения локали - раскладки и языка пользователя:
Этот запрос означает выбор командного процессора консоли, который собственно интерпритирует команды набранные на клавиатуре, по умолчанию командный процессор для пользователя - sh, поэтому пропускаем этот параметр нажимая "enter", изменение командного процессора мы рассмотрим в дальнейших статьях на сайте:
В этой строке можно принудительно указать домашний каталог пользователя, в данном случае нас устраивает это размещение, поэтому снова нажимаем "enter":
В этой строке можно принудительно задать права доступа для директории пользователя, в нашем случае так же оставляем все "по умолчанию" нажимая "enter":
Использовать ли пароль для авторизации пользователя в системе, по умолчанию стоит "yes" (да), если ответить "no" (нет) то штатным образом в систему войти мы не сможем, поэтому нажимаем "enter" тем самым отвечая "да":
Оставить ли пустой пароль для авторизации пользователя, в данном случае если ответить "да", то в систему возможно будет войти без пароля, что является неприемлимым, поэтому нажимаем "enter" тем самым отвечая "нет", т. к. по умолчанию указан ответ "no" (нет):
Присвоить ли пользователю случайный пароль, в нашем случае тоже пропускаем этот вопрос нажимая "enter" и тем самым отвечая "no" (нет), т.к. пароль мы зададим самостоятельно:
В данной строке следует ввести пароль пользователя, который будет ему присвоен, при этом ввод символов никак не отобразится в строке:
Следует повторить ввод пароля:
На этот вопрос следует так же ответить "no" (нет), т.к. вопрос гласит "Заблокировать ли аккаунт после создания?", нажимаем "enter":
После чего на экране появится профиль пользователя с запросом:
На вопрос следует набрать "yes" (да) и нажать "enter", если набрать "no" (нет), то пользователь создан не будет. Итак набираем "yes" и нажимаем "enter":
На дисплее появится следующий запрос:
На него уже следует ответить отрицательно, он гласит "Добавить ли еще одного пользователя?".
Tеперь в систему можно будет войти набрав логин - "testuser" и пароль указанный в процессе создания пользователя. Для того, чтобы пользователю состоящему в группе wheel переключиться в режим суперпользователя root, следует набрать команду:
И после набора пароля суперпользователя root, аккаунт переключится. Возврат из режима суперпользователя в данном случае выполняется по команде:
Так же повторный набор этой команды уже из режима пользователя приведет к выходу из системы. На этом процесс добавления пользователя закончен.
P.S. Для удаления пользователя существует команда "rmuser" действующая по аналогии.