Как создать пользователя в Linux через консоль


В Linux создать пользователя можно консольной командой useradd с аргументами, определяющими оболочку и домашний каталог.

После создания пользователя нужно задать для него пароль.



Как создать пользователя в Linux


Команда выполняется от имени суперпользователя — root или пользователя, входящего в группу sudo.

useradd -d /home/admin -m ansibledmin -s /bin/bash


В случае успеха вывода не будет:

Как создать пользователя в Linux


Таким образом добавляется пользователь ansibledmin. Для него создается домашний каталог /home/admin и определяется оболочка /bin/bash




Пользователи могут иметь в качестве оболочки /bin/false если авторизация не нужна. /bin/false задается изначально когда пользователь добавляется автоматически при установке какого-то пакета. Например, для пользователя www-data из под которого обычно работает веб-сервер.


grep www /etc/passwd

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin



Ключ -m означает, что домашний каталог будет создан сразу, если ключ не задать — каталог появится после первой авторизации пользователя в системе.



Для добавленного пользователя нужно задать пароль, это делает также root

passwd ansibledmin


задать пароль пользователя в linux


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

Сгенерировать его можно консольной утилитой pwgen

pwgen -n 15 1


pwgen пример


Команда с такими ключами выдаст один сгенерированный пароль длиной 15 символов. Можно сгенирировать несколько паролей и самостоятельно выбрать один чтобы не доверять выбор утилите.



Авторизация в данном случае нужна только в интерактивном режиме. Команда su ansibledmin (переход к созданному пользователю из сессии root) не будет являться авторизацией. Сессия должна быть инициализирована именно пользователем ansibledmin при подключении.



Команда useradd повлечет добавление новой строки в файл /etc/passwd. В нем можно будет увидеть все данные по пользователю. В нем же можно изменить домашний каталог или shell.

Пароль пользователя в зашифрованном виде сохраняется в файле /etc/shadow.



Смена пароля пользователя


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

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



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


Если системный пользователь больше не нужен — root может его удалить выполнив

userdel ansibledmin


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


Вхождение из /etc/passwd и /etc/shadow пропадет. Каталог пользователя нужно будет удалить с сервера вручную.




Чтобы поменять настройки для системного пользователя в Linux используется утилита usermod. С её помощью можно, в частности, добавлять пользователей в группы и удалять из них.


В примере создавался пользователь ansibleadmin, такое имя часто дается для того чтобы управлять не из-под root системой конфигурации Ansible.

Сказать спасибо