С помощью какой команды можно добавить пользователя

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7531254ddd9c9232 • Your IP: Click to reveal 217.138.221.212 • Performance & security by Cloudflare

Создание пользователя в Linux. Команды adduser и useradd

Создание пользователя в Linux

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

Для создания пользователей из командной строки обычно используют утилиты adduser или useradd. Рассмотрим, использование данных утилит.

В чем отличия adduser и useradd?

useradd — это низкоуровневая утилита для создания пользователей в Linux.

adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.

Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.

Команда adduser

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

Рассмотрим, как создать обычного пользователя командой adduser

Чтобы создать нового пользователя, выполняем команду adduser и указываем имя пользователя (вместо pupkin укажите имя пользователя, которого вы создаете):

После запуска данной команды, вы должны ввести пароль для нового пользователя. Затем будет предложено ввести дополнительную информацию о пользователе: имя, номер комнаты (кабинета), телефоны и комментарий. Вводить эту информацию необязательно. Просто нажимайте Enter , чтобы пропустить ввод данных.

Команда adduser в Linux

В результате выполнения команды adduser будут выполнены следующие действия:

  • Создается новый пользователь с именем, которое вы указали при выполнении команды.
  • Создается группа с тем же именем.
  • Создается домашний каталог пользователя в директории /home/имяпользователя
  • В домашний каталог копируются файлы из директории /etc/skel

Команда useradd

Синтаксис команды useradd

Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.

Синтаксис команды следующий:

Создание нового пользователя

Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.

Данная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd

Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:

Создание нового пользователя с домашней директорией в /home

Создадим пользователя и его домашнюю директорию.

Домашняя директория создается по умолчанию в каталоге /home . Имя директории совпадает с именем пользователя.

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

Чтобы создать пользователя с домашней директорией, расположенной в произвольном месте, используется опция -d , после которой указывается путь до директории. Директорию необходимо создать заранее.

Создаем домашнюю директорию для будущего пользователя:

Копируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel

Создаем пользователя и указываем домашнюю директорию:

Меняем права доступа у домашней директории:

Задаем пароль для пользователя:

Можно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd

Команда useradd. Создание пользователя с произвольной домашней директорией

Создание нового пользователя с произвольными UID, GID

Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.

При создании пользователя можно задать произвольные номера UID и/или GID. При указании номера группы, группа с этим номером должна быть создана заранее.

Создание пользователя с указанием оболочки (shell)

По умолчанию новые пользователи создаются с оболочкой /bin/sh Чтобы задать другую оболочку, используется опция -s /путь/до/оболочки

Создать пользователя и добавить его в группы

Обычно пользователи в Linux принадлежат нескольким группам. Чтобы при создании нового пользователя задать группы, к которым он будет принадлежать, используется опция -G список,групп

Заключение

Мы рассмотрели примеры создания нового пользователя в Linux с использованием команд adduser и useradd . Команда adduser более простая и в большинстве случаев рекомендуется использовать именно ее.

Создание, редактирование и удаление пользователей в Linux

В данной инструкции рассказывается о работе с пользователями Linux через терминал (с применением командной строки).

Получение информации о пользователях

1. Список пользователей можно посмотреть в файле /etc/passwd командой:

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

2. Проверить существование пользователя и увидеть его идентификатор можно с помощью команды id:

Мы должны увидеть что-то на подобие:

uid=1001(username) gid=1001(username) groups=1001(username),27(sudo)

* учетная запись username существует, она находится в основной группе username и дополнительной sudo. Ее идентификатор 1001.

3. Также мы можем получить строку о пользователе из файла /etc/passwd:

getent passwd username

Мы увидим что-то такое:

* наш пользовател username имеют идентификатор пользователя и группы 1001, его домашняя директория /home/username, командная оболочка /bin/sh.

Создание

useradd <имя пользователя> [опции]

* опции не являются обязательными при создании пользователя.

* в данном примере создается учетная запись dmosk.

Для учетной записи стоит сразу создать пароль:

* после ввода, система попросит ввести пароль дважды.

Ключи (опции)

Ключ Описание и примеры
-b Задает базовый каталог для домашнего каталога
useradd dmosk -b /var/home
-c Создает комментарий для описания учетной записи
useradd dmosk -c "Пользователя для управления системой"
-d Полный путь к домашнему каталогу пользователя
useradd dmosk -d /home/newuser
-D Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей
useradd dmosk -Ds /bin/bash
-e Дата, после которой учетная запись устареет.
useradd dmosk -e 2017-12-31
-f Число дней, после которого учетная запись с устаревшим паролем будет заблокирована
useradd dmosk -f 0
-g Задает основную группу
useradd dmosk -g altternativegroup
-G Задает дополнительные группы
useradd dmosk -G wheel
-k Путь к источнику скелета (файлы с шаблонами для нового пользователя)
useradd dmosk -k /var/skel
-m При создании пользователя создать домашний каталог
useradd dmosk -m
-M Не создавать домашний каталог
useradd dmosk -M
-N Не создавать основную группу с таким же именем, как у пользователя
useradd dmosk -N
-o Разрешает создание учетной записи с повторяющимся UID
useradd dmosk -u 15 -o
-p Задает пароль
useradd dmosk -p pass
-r Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs)
useradd dmosk -r
-R Каталог, в который выполняется chroot
useradd dmosk -R /var/chroot/home
-s Путь до оболочки командной строки
useradd dmosk -s /bin/csh
-u Задает UID
useradd dmosk -u 666
-U Имя группы будет таким же, как у пользователя
useradd dmosk -U

Актуальный список ключей можно получить командой useradd -h.

Редактирование

usermod <имя пользователя> [опции]

usermod dmosk -G wheel

* эта команда добавит пользователя dmosk в группу wheel

Удаление

userdel <имя пользователя> [опции]

Блокировка

Можно заблокировать пользователя, не удаляя его из системы:

usermod -L <имя пользователя>

usermod -L dmosk

Чтобы разблокировать пользователя, вводим:

usermod -U <имя пользователя>

Работа с группами

1. Добавление группы:

groupadd <группа> [опции]

groupmod <группа> [опции]

3. Удаление группы:

groupdel <группа> [опции]

4. Добавление пользователя в группу:

Выполняется через команду usermod:

usermod -a -G <группы через запятую> <пользователь>

5. Удаление из группы:

Выполняется с помощью gpasswd:

gpasswd —delete <пользователь> <группы через запятую>

Список пользователей

Посмотреть список пользователей можно в файле /etc/passwd:

Мы увидим что-то на подобие:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
.

Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.

Более функциональная команда для отображения содержимого файла passwd — getent:

Можно найти пользователя по идентификатору:

getent passwd 1000

Получить список не системных пользователей:

Получить только список логинов не системных учетных записей:

Примеры работы с учетными записями

useradd

Создать пользователя, добавить его в группу и создать домашнюю директорию:

useradd dmosk -G wheel -m

Создать пользователя с определенными UID и GID (соответственно идентификаторы пользователя и группы):

useradd dmosk -u 900 -g 950

* группа с используемым идентификатором (в данном примере 950) уже должна быть создана заранее с использованием команды groupadd.

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

useradd dmosk -d /home/newdmosk

Создать учетную запись без возможности входа в систему:

useradd dmosk -s /sbin/nologin

usermod

Потребовать сменить пароль при следующем входе в систему:

chage -d 0 dmosk

Поменять пользователю основную группу:

usermod dmosk -g kdonewgroup

Задать пользователю дополнительную группу с правами root:

usermod dmosk -G sudo

Добавить пользователя в группу:

usermod -a -G group dmosk

* в данном примере мы добавим пользователя dmosk в группу group.

Сменить домашнюю директорию:

usermod -d /var/www/dmosk dmosk

* данной командой мы меняем для пользователя dmosk домашнюю директорию на /var/www/dmosk.

Sysadminium

В статье разберём как создаются группы и пользователи в linux, а также как ими управлять и переключаться с одного пользователя на другого.

Номера пользователей в системе

Для того чтобы понять под каким пользователем вы сейчас работаете выполните команду id:

В выводе мы видим что пользователь alex:

  • имеет user id (uid) = 1000;
  • входит в группу alex, которая имеет group id (gid) = 1000;
  • также он входит в другие группы, причем список групп для ubuntu и для debian отличается;
  • и у каждой группы есть номер (gid).

Для системы номер пользователя или группы важнее чем его имя!

  • uid — user id, номер пользователя;
  • gid — group id, номер группы.

Если команде id передать в качестве параметра имя пользователя, то мы увидим информацию по этому пользователю. Если не указывать имя пользователя то увидим информацию по текущему пользователю.

Например, uid для суперпользователя root всегда = 0:

Когда система проверяет, разрешено ли какое-либо действие для данного пользователя, то система смотрит именно на uid и на gid пользователя а не на его имя.

Смена текущего пользователя

Текущий пользователь этот тот пользователь под которым вы работаете.

Создавать пользователей в системе может только суперпользователь root. Он может делать с системой все что пожелает. Подобный пользователь (root) есть в любом дистрибутиве GNU/Linux.

Для того чтобы переключиться на работу под другим пользователем нужно воспользоваться командой su. В качестве аргумента команде su нужно передать имя пользователя на которого мы хотим переключиться. Помимо имени пользователя можно использовать ключ «-» — без него некоторые переменные среды останутся от предыдущего пользователя. Поэтому правильное переключение на пользователя root будет следующим:

Но в Ubuntu, по умолчанию, нельзя переключиться на пользователя root. Мы даже при установке системы не задавали пароль для этого пользователя. В Ubuntu по умолчанию настроена утилита sudo, которая позволяет выполнять команды от имени суперпользователя. И эта утилита позволит нам переключиться на пользователя root не вводя его пароль:

Вместо пароля от пользователя root, нужно ввести пароль от alex.

Но sudo работает не для всех пользователей, а только для тех кто входит в группу sudo, а alex в неё входит.

Кстати, утилиту sudo можно установить и в Debian, и пользоваться точно также как это делается в Ubuntu.

Чтобы выйти используется команда exit:

Ещё одно отличите Ubuntu от Debian в том, что хоть при установке я указывал русский язык, в Ubuntu вывод результатов выполнения команд всё равно на английском.

Если не передать команде su имя пользователя то мы переключимся на пользователя root, поэтому часто используется такая команда для переключения на суперпользователя:

Создание и удаление пользователей

Для того, чтобы создать нового пользователя в системе можно воспользоваться двумя утилитами:

  • useradd — не интерактивная утилита;
  • adduser — интерактивная утилита;

Любой из этих команд нужно передать имя пользователя, но useradd не создаст пользователю домашний каталог и не придумает пароль если не использовать дополнительные опции команды. Зато создаст одноименную группу пользователя и включит этого пользователя в неё. Создавать пользователей в системе может только root:

У этой утилиты есть некоторые опции:

  • -m — создать домашний каталог пользователю;
  • -p <пароль> — здесь нужно ввести хешированный пароль, что не всегда удобно, поэтому не стоит использовать эту опцию;
  • -s <путь_к_оболочке> — указать командную оболочку используемую по умолчанию для пользователя (сейчас мы работает в оболочке bash, путь к ней – /bin/bash);

Давайте теперь удалим пользователя testuser и создадим его по новой с изученными опциями. Удаляется пользователь командой deluser.

При удалении пользователя командой userdel, с помощью дополнительных опций можно:

  • -f — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;
  • -r — удалить домашний каталог пользователя;

Теперь давайте удалим пользователя testuser и попробуем создать его интерактивной утилитой adduser:

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

Эта утилита тоже имеет опции, благодаря которым можно:

  • –no-create-home — не создавать домашний каталог пользователю;
  • –shell <Оболочка> — задать оболочку для пользователя, по умолчанию задается оболочка bash;

Зачем же созданы две утилиты для создания пользователей? Я бы рекомендовал использовать adduser при ручном создании пользователя и useradd при создании пользователя из скрипта, так как useradd в процессе работы не задает вопросы, а создает пользователя используя опции.

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

  • userdel;
  • deluser.

Они различаются только опциями.

userdel:

  • -r — удалить домашний каталог пользователя;
  • -f — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;

deluser:

  • –remove-home — удалить домашний каталог пользователя;
  • –force — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;

Мне опции первой команды запомнить легче, да и запись получается короче, поэтому я использую userdel.

Изменение паролей

Пароль меняется утилитой passwd. Суперпользователь может сменить пароль любому пользователю указав имя пользователя, а любой другой пользователь может изменить пароль себе не указывая имя пользователя утилите passwd:

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

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

Теперь рассмотрим процесс создания групп пользователей. Для этого используются также две утилиты:

  • groupadd — не выводит ничего при создании группы;
  • addgroup — выводит создаваемый gid при создании группы.

Дополнительными опциями можно задать gid для создаваемой группы:

Тут я бы рекомендовал использовать addgroup при ручном создании группы, так как есть вывод и вы можете прочитать что пользователь создался и создался с таким-то gid. А groupadd при использовании в скрипте, так как нет лишнего вывода на терминал.

Тоже самое подходит и для удаления группы командами groupdel и delgroup:

Добавление пользователей в группу

Продолжим изучение темы “Группы и пользователи в Linux”. Теперь рассмотрим процесс добавление в группу пользователей. Но для начала разберемся с первичными и дополнительными группами. Как я показывал раньше, при создании пользователя обычно создается одноименная группа это первичная группа пользователя. Первичная группа используется, например, при создании файла.

Например, если пользователь Linux «Вася» имеет первичную группу «Вася» и какие-то дополнительные группы, и он создал файл, то к файлу будут иметь доступ все пользователи которые входят в группу «Вася». Но одна из дополнительных групп у “Васи” – это группа «Разработчики», и у группы «Разработчики» не будет доступа к файлу, так как файл взял права от первичной группы «Вася», а не от дополнительной «Разработчики» . Это просто пример поведения Linux, с системой прав разберемся позже.

Группы и пользователи в Linux

Группы и пользователи в Linux

В одном из примеров выше я показывал вывод команды id для пользователя alex:

Тут первичная группа alex, а дополнительные все остальные.

Чтобы пользователю добавить дополнительную группу можно воспользоваться командой usermod -aG,

  • -a — добавляет к текущим группам пользователя дополнительные. Без этой опции группы заменяются на новые, а с этой опцией к старым группам добавляются новые;
  • -G — указывает, что работать будем с дополнительными группами а не с первичной.

Как видим alex добавился в группу testgroup.

Утилитой usermod нельзя удалять дополнительные группы, можно только не используя опцию -a, написать список групп в которые должен будет входить данный пользователь, не указав ту группу, из которой вы хотите удалить пользователя. Например мы хотим удалить alex из testgroup:

Если мы хотим поменять пользователю первичную группу, то нужно использовать опцию -g:

И вернем все как было:

Еще один способ добавить пользователя в дополнительную группу (и наверное более запоминающийся) это использовать утилиту adduser, при этом утилите вначале передается имя пользователя, затем группы:

Удалить пользователя из группы можно командой deluser:

И так, для добавления или удаления пользователя в дополнительную группу я бы рекомендовал использовать команды adduser и deluser. А для изменения первичной группы команду usermod -g.

Конфигурационные файлы

Теперь обсудим файлы которые хранят информацию о пользователях:

  • /etc/passwd;
  • /etc/group;
  • /etc/shadow.

В passwd хранится информация о пользователях в системе, вот информация о пользователе alex:

То что после имени идет буква “x” означает что пароль зашифрован в файле shadow.

В /etc/group хранится информация о группах в системе, вот информация о группе alex и о дополнительных группах пользователя alex:

Здесь вначале идет имя группы, потом символ “x” обозначает что пароль зашифрован, затем gid, затем пользователи Linux для которых эта группа является дополнительной. Таким образом группа alex имеет gid=1000, а пользователь alex входит в дополнительные группы cdrom, floppy и так далее.

В /etc/shadow хранятся соленые хэши паролей пользователей, вот например строка для alex:

Строка файла содержит поля разделённые двоеточиями, в полях находится следующая информация:

  • имя пользователя;
  • хеш пароля;
  • дата последней смены пароля в днях начиная с 1 января 1970 года, чем больше число, тем новее пароль;
  • минимальный срок действия пароля, если 0 то неограничен;
  • максимальный срок действия пароля;
  • период предупреждения о необходимости сменить пароль;
  • период неактивности пароля — у меня пустое поле, период неактивности отсутствует;
  • дата истечения срока действия учётной записи — у меня пустое поле, учётная запись никогда не устаревает;
  • зарезервированное поле для использования в будущем.

В статье мы разобрались с темой “Группы и пользователи в Linux”, а именно:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *