Как сделать нового пользователя в debian

Обновлено: 04.07.2024

Debian – операции с пользователями

useradd — регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях;
usermod — изменяет учётную запись пользователя;
userdel — удаляет учётную запись и файлы пользователя;
passwd — изменяет пароль пользователя.
И некоторые другие. Далее небольшие примеры использования каждой команды.

useradd

Создаем пользователя test01 (без домашнего каталога и без пароля):

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

-m — создать домашний каталог пользователя
-d — домашний каталог новой учётной записи

Примечание: удобство использования ключей -m и -d в том, что автоматически созданный каталог уже будет иметь необходимые права. Если каталог вы будете создавать отдельно, то придется менять владельца командой chown и возможно разрешения по умолчанию командой chmod.

Создаем пользователя testuser01 с домашним каталогом /home/testuser01, оболочкой /bin/bash и паролем Qwerty123:

-g — имя или ID первичной группы новой учётной записи
-s — оболочка новой учётной записи
-p — зашифрованный пароль новой учётной записи

Примечание: если вы создаете учетную запись для служебных задач и не планируете чтобы кто-то под ней реально авторизовывался, то есть смысл установить окружение /bin/false.

Надо отметить, что вводить пароль в открытом виде в командную строку не совсем правильно, лучше использовать две команды последовательно:

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

usermod

-l – Имя пользователя будет изменено с testuser01 на testuser02. Больше ничего не меняется. В частности, вероятно, должно быть изменено имя домашнего каталога и почтового ящика.

-g — Имя или числовой идентификатор новой первичной группы пользователя. Группа с таким именем должна существовать. Все файлы в домашнем каталоге пользователя, принадлежавшие предыдущей первичной группе пользователя, будут принадлежать новой группе. Группового владельца файлов вне домашнего каталога нужно изменить вручную.
Создание нового домашнего каталога /home/testuser02 пользователя testuser02 и перенос данных из старого в новый:

Вы должны убедиться, что от указанного пользователя не запущено никаких процессов, если при выполнении этой команды изменяется числовой пользовательский ID, имя пользователя или домашний каталог пользователя. В Linux команда usermod выполняет такую проверку, но на других архитектурах проверяется только присутствие пользователя в системе согласно данным utmp. Вы должны вручную изменить владельца всех файлов crontab или заданий at. Вы должны сделать все изменения NIS на сервере NIS самостоятельно.

userdel

Удаление пользователя testuser02. Домашний каталог и файлы в нем останутся нетронутыми:

Удаление пользователя testuser02 вместе с домашним каталогом и файлами в нем, а также почтового ящика, если он есть:

passwd

Отобразить состояние текущей учетной записи (имя, инф. о пароле, дата последнего изменения пароля, минимальный срок, максимальный срок, период выдачи предупреждения, период не активности пароля):

Отображение состояния всех учетных записей:

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

Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.
Об основных командах все. Ниже есть информация о других вспомогательных командах, связанных с пользователями.

Дополнительные команды

id — Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user;
groups — print the groups a user is in;
last, lastb — show listing of last logged in users.
Отобразить информацию о трех последних входах в систему пользователя root:

lastlog — выводит отчёт о последней регистрации в системе всех или указанного пользователя
logname — print user´s login name
whoami — Print the user name associated with the current effective user ID
mesg — control write access to your terminal

users — print the user names of users currently logged in to the current host

w — Show who is logged on and what they are doing
who — show who is logged on
write — send a message to another user

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

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

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

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

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

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

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


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

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


В CentOS, если вы хотите указать дополнительную информацию, выполните команду:

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

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

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

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

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

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

Для отключения доступа root откройте файл /etc/ssh/sshd_config :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сегодня мы будем создавать пользователей в системе, которые позднее будут использоваться для доступа к серверу по ssh/ftp и для редактирования файлов наших сайтов.
Всё происходящее ниже — фундамент безопасности нашего сервера (точнее, сайтов, расположенных на нём, если их несколько).
Мы будем преследовать несколько целей:
1) пользователи не должны иметь возможности подсмотреть файлы друг у друга в домашних каталогах под собой.
2) веб-сервер, запущенный от имени пользователя www-data должен иметь возможность просматривать файлы сайтов, но не должен иметь возможности писать в произвольные файлы в докрутах.
3) работающий chroot по sftp/ftp (chroot для sftp мы уже настроили в статье про openssh-server, а chroot для ftp настроим позднее).
4) если мы запустили сайт от имени пользователя через mpm-itk (такое нужно битриксу, например), то пункт 1 должен соблюдаться.
Погнали.
Начнем с грустного — изначально я не очень правильно составил план статей цикла. Пользователь www-data нам нужен уже сейчас, но чтобы корректно создать его — нужны пакеты с apache2. Можно было бы создать пользователя и группы руками, но проще всё же поставить пакеты и пока забыть про них:

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

Группа secure будет использоваться нами для того, чтобы пользователи не могли смотреть чужие файлы, а группу sftponly мы будем использовать для того, чтобы включать-выключать пользователю chroot в ssh-сервере (и, соответственно, по sftp). Освежите память, прочитайте часть 4 мануала, если не помните о чём я.

Теперь начинаем создавать пользователя. Далее считаем, что пользователя зовут username (заменяйте везде username на желаемое имя пользователя).
Создадим ему домашний каталог (обратите внимание, что домашним каталогом у нас будет /home/username/data, а не /home/username):

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

Пропишем ему пароль:

Настроим права и создадим каталог для сайта.
Каталог /home/username должен быть доступен на запись только руту, чтобы работал chroot() в vsftpd и sftp:

Пользователи, состоящие в группе secure, не должны иметь возможности попасть в домашний каталог пользователя, а сам пользователь и пользователи не состоящие в этой группе (в т.ч. и www-data) — должны. При этом сам пользователь в этом каталоге сможет писать, само собой:

Создадим каталоги для временных файлов веб-сервера и для докрутов наших сайтов:

Все каталоги в домашней директории должны принадлежать нашему пользователю:

Но tmp каталог должен принадлежать и пользователю, и группе www-data:

Ну и под конец запрещаем писать всем, кроме самого пользователя, в каталоги в нашем хомяке:

Но разрешаем писать пользователю+группе www-data в каталог mod-tmp:

Если вы понимаете, что происходит выше — обязательно соблюдайте порядок команд, иначе у вас ничего не выйдет ;)
И последний штрих. Чтобы пользователь не мог зайти по ssh на сервер + чтобы запретить ему выходить за пределы каталога /home/username по sftp/ftp нужно добавить его в группу sftponly:

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

Комментарии (13):

Привет.
> 2) веб-сервер, запущенный от имени пользователя www-data должен иметь возможность просматривать файлы сайтов, но не должен иметь возможности писать в произвольные файлы в докрутах.
Возможно, вопрос немного нубский, но для OwnCloud или Tiny Tiny RSS такая структура не пойдёт? Сервер, запущенный от пользователя www-data не сможет писать в директорию с сайтом, а там это как раз нужно. Как лучше сделать структуру папок для OwnCloud и Tiny Tiny RSS?

Вроде бы разобрался. Не знаю, правильно или нет…
chown -R username:www-data /home/username/data/www/tt-rss и для owncloud также.

> chown -R username:www-data /home/username/data/www/tt-rss и для owncloud также.

Остальные каталоги лучше чмодить в 777 только на время обновления движка/плагинов.


Создание пользователя в 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 более простая и в большинстве случаев рекомендуется использовать именно ее.

При настройке новой системы Debian создается учетная запись root по умолчанию. Пользователь root имеет полный доступ к системе. И может в делать в системе все, что не может обычный пользователь. Некоторые задачи выполняются только пользователем root. Например выполнить установку, обновление и удаление пакетов программного обеспечения, изменение файлов конфигурации, запуск и остановку системных служб, а также завершение работы и перезагрузку сервера. Пользователь root является мощным, но чрезвычайно опасным, поскольку выполняемые действия невозможно отменить. Некоторые команды могут сделать систему непригодной для использования.

Чтобы снизить этот риск новый пользователь не имеет прав sudo. Только после создания пользователя можно назначить ему права суперпользователя для выполнения повседневных административных функций. Это возможно путем выдачи пользователю прав sudo. Это действие повысит привилегии пользователя.

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

Шаг 1: Войдите на свой сервер Debian

Для начала войдите на свой сервер Debian как пользователь root через SSH. Как включить SSH на Debian мы писали здесь.

Шаг 2. Создание новой учетной записи пользователя в Debian

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

Синтаксис команды показан ниже:

В нашем случае мы добавим нового пользователя по имени Джек.

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

Пример ответа терминала

Создание новой учетной записи пользователя в Debian

Создание новой учетной записи пользователя в Debian

Если вы хотите пропустить всю эту информацию, просто нажмите ENTER , чтобы принять значения по умолчанию.

Создание пользователя с помощью adduser

Создание пользователя с помощью adduser

Информация о новом пользователе хранится в файле /etc/password . Для просмотра информации о пользователе запустите

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

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

В нашем случае, чтобы добавить пользователя Jack в группу sudoers, мы запустим следующую команду

Чтобы проверить был ли пользователь добавлен в группу sudo, выполнив команду id.

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

Установить Sudo очень просто, выполните команду написанную ниже:

Шаг 4: Тестирование пользователя sudo

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

Переключитесь на нового пользователя, как показано на рисунке

Теперь вызовите команду sudo, за которой следует любая команда. в этом случае мы запустим команду whoami.

За этим последует список из нескольких пунктов, которые вы должны знать, работая пользователем root.

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

Пример ответа терминала

Тестирование пользователя sudo

Тестирование пользователя sudo

Если вы хотите снова переключиться на пользователя root, вы можете выполнить команду sudo -i , но вам необходимо указать пароль root:

Заключение

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

Читайте также: