Бесплатная миграция IT-инфраструктуры в облако
На главную
61c46507-12c7-4300-a301-bd8bc30c7c19
Инструкции для серверов

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

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

Оптимальным решением является создание дополнительного пользователя VDS с привилегиями sudo. Механизм sudo позволит пользователю при необходимости выполнять операции с правами администратора (root).

По этой же инструкции создаются и обычные пользователи системы (без привилегий sudo) — достаточно выполнить первые три шага.

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

1. Создайте нового пользователя (в примере — username) командой ниже:

adduser username

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

2. В Ubuntu / Debian далее будет запрошен пароль пользователя. Его будет необходимо ввести дважды. Помните, что символы пароля не отображаются в консоли Linux при вводе.

Adduser1
В CentOS для установки пароля выполните команду:

passwd username

После введите пароль и повторите его.

3. Далее в Ubuntu / Debian будет запрошен ввод дополнительной информации о пользователе (имя, номер телефона и пр.). Вы можете указать данные или нажимать Enter, чтобы оставить значения по умолчанию (т.е. пустые). После нажмите Y для подтверждения.
Adduser2
В CentOS, если вы хотите указать дополнительную информацию, выполните команду:

chfn username

На этом этапе создание обычного пользователя (без привилегий sudo) завершено

4. Теперь для того, чтобы предоставить пользователю sudo-привилегии, его нужно добавить в группу sudo. Это делается следующими командами.

В Ubuntu / Debian:

usermod -aG sudo username

В CentOS:

usermod -aG wheel username

5. Проверьте работу пользователя. Для этого переключитесь на сеанс работы от его имени:

su - username

Система запросит пароль пользователя (при первом запуске sudo). Введите его, после чего попробуйте выполнить любую команду с привилегиями sudo. Например, можно просмотреть содержимое каталога /root, которое недоступно пользователю с обычными правами:

sudo ls -la /root

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

Если для root используется аутентификация по SSH-ключу

Если вы вошли под root, используя ключ SSH, то аутентификация по паролю для SSH отключена. Вам нужно будет добавить копию вашего локального открытого ключа в файл нового пользователя ~/.ssh/authorized_keys для успешного входа в систему.

Поскольку ваш открытый ключ уже находится в файле ~/.ssh/authorized_keys учетной записи root, можно скопировать этот файл в каталог нового пользователя с помощью команды cp и настроить права на файлы с помощью команды chown.

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

cp -r ~/.ssh /home/username

Установим username владельцем этого каталога (также будет создана группа с тем же именем):

chown -R username:username /home/username/.ssh

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

ssh username@your_server_ip

Если нужно запустить команду с правами администратора, введите sudo перед ней, например:

sudo команда

Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo (и периодически после этого).

6. Этот шаг не является обязательным, но для повышения безопасности можно отключить дистанционный доступ для суперпользователя root. В этом случае пользователям всегда будет необходимо подключаться под собственными учетными записями, что позволит отслеживать действия на сервере, видеть, кем были внесены те или иные изменения и т.д.
Для отключения доступа root откройте файл /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Найдите строку PermitRootLogin и замените ее текущее значение на:

PermitRootLogin no

Выйдите из редактора с сохранением изменений (комбинация Ctrl X -> Y -> Enter).

После выполненных действий перезапустите службу SSH командами ниже.

В Ubuntu / Debian:

sudo service ssh restart

В CentOS:

sudo service sshd restart

Другие команды для управления пользователями

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

groupadd имя_группы

В Ubuntu и Debian для создания группы также можно использовать команду:

addgroup имя_группы

После чего можно создать пользователя следующим образом:

useradd -g имя_группы username

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

usermod -G имя_группы username

Для того, чтобы изменить первичную группу пользователя, используется ключ -g:

usermod -g имя_группы username

Для смены домашнего каталога пользователя используется команда:

usermod -d путь/к/новому/каталогу username

Получить информацию о пользователе можно командой:

id username

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

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

Сменить пароль можно командой:

passwd username

Просмотреть список всех созданных пользователей можно командой:

cat /etc/passwd

Чтобы получить только список имен, без дополнительной информации, можно использовать:

sed 's/:.*//' /etc/passwd

Вывести список пользователей, которые сейчас в системе, можно простой командой w.

Удалить пользователя можно командой:

deluser username

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

delgroup имя_группы
Была ли статья полезна?
Ваша оценка очень важна
Комментарии 4
Alexander
Alexander
04.09.2024, 14:00

Спасибо за подробное объяснение

Timeweb Cloud
Timeweb Cloud
10.09.2024, 15:16

Рады, что инструкция пригодилась 💙

Алексей Оноприенко
Алексей Оноприенко
27.07.2023, 13:30

Очень здорово, что всё необходимое по этой теме в одном месте. Спасибо!

Команда Timeweb Cloud
Команда Timeweb Cloud
04.08.2023, 11:01

Рады стараться! Если понадобиться какая-то конкретная инструкция, только скажите, сделаем и её 😉