How to Create a Sudo User on Debian
Sudo stands for superuser do. It is a command used in Unix-like systems that allows a regular user to temporarily execute a program with root privileges.
This option gives you administrator-level permissions to run programs on your machine. It is an alternative to using the su command. However, bear in mind there are significant differences between sudo and su.
This guide shows you how to create a user with sudo privileges, add a user to a sudo group, and verify sudo access on Debian.

Note: Linux Sudo Command tutorials also available for:
Creating a Debian Sudo User
Creating a Debian sudo user involves a few simple steps. This procedure does not require you to edit the sudoers file. If you have an existing user that you want to grant sudo privileges, skip Step 2.
Step 1: Log in as the Root User
Before you can add a user to your system, log in to your server as the root user:
Replace ip_address with the IP address of your server.
Step 2: Add a New User in Debian
As the root user, create a new user with the adduser command. Append the desired user account name to the command:
For example, we added a new account sudo_user with the command:
The output looks like this:

The sudo command creates a home directory for the user and copies the necessary files. To complete the process, enter the password for the user account and retype to confirm it.
Remember that setting a strong password is extremely important for accounts with sudo access.

The terminal also prompts you to change the user information. Fill in the details or hit Enter to leave the fields blank.

Step 3: Add User to the Sudo Group
Users with root privileges can add any account to the sudo group. On Debian and Ubuntu systems, everyone in this group automatically gets sudo access.
Run the following command to add a user to the sudo group:
The command consists of the following parts:
-
is the tool that modifies a user account.
- -aG is the option that tells the command to add the user to a specific group. The -a option adds a user to the group without removing it from current groups. The -G option states the group where to add the user. In this case, these two options always go together.
- sudo is the group we append to the above options. In this case, it is sudo, but it can be any other group.
- username is the name of the user account you want to add to the sudo group.
To verify the new Debian sudo user was added to the group, run the command:
The output lists all users in the group.

Verify Sudo Access in Debian
To make sure the new user has sudo privileges:
1. Switch to the user account you just created by running the following command (and replacing username with the name of your user):
2. Run any command that requires superuser access. For example, sudo whoami should tell you that you are the root.
Using Sudo
To run a command with root access, type in sudo and enter the desired command.
For example, to view details for the root directory, run the ls tool as:
Enter the user’s password, and the terminal shows the contents of the root directory. You only need to enter the password once in the same session.
Now you know how to add a user with sudo privileges on Debian.
By following this guide, you can use the new account to run commands as a superuser. Remember to be careful when you execute sudo commands.
Как добавить пользователя в Sudoers в Debian 11 | Debian 10
После установки новой системы Debian создается учетная запись root по умолчанию. Пользователь root имеет полный доступ к системе и привилегии и может делать в системе практически все, что не может обычный пользователь. Некоторые из задач, выполняемых только пользователем root, включают установку, обновление, обновление и удаление пакетов программного обеспечения, изменение файлов конфигурации, запуск и остановку системных служб, а также завершение работы и перезагрузку сервера . Пользователь root обладает широкими полномочиями, но чрезвычайно опасен, поскольку выполненные действия невозможно отменить. Некоторые команды, если они введены, могут сделать систему непригодной для использования.
Чтобы снизить этот риск, необходимо добавить нового обычного пользователя, а затем назначить пользователю привилегии root для выполнения повседневных административных привилегий, когда это необходимо. Это возможно, введя sudo перед командой, которая временно повысит права пользователя.
Просто веселое видео для отвлечения и расслабления в течение 2 минут
В этом руководстве мы расскажем, как создать нового пользователя, а затем добавить пользователя в группу sudoers в Debian.
Шаг 1. Войдите на свой сервер
Для начала войдите на свой сервер Debian как пользователь root через SSH.
Шаг 2. Создайте новую учетную запись пользователя
Чтобы создать нового пользователя в системе Linux, мы собираемся использовать adduser команду, за которой следует имя пользователя
Синтаксис показан ниже:
В нашем случае мы добавим нового пользователя по имени jack.
Эта команда запросит у вас пароль нового пользователя и позже потребует его подтверждения. Всегда помните о необходимости установить надежный пароль (с комбинацией прописных, строчных, цифровых и специальных символов).
Пример вывода
После успешной установки пароля команда запросит у вас дополнительную информацию о пользователе, как показано ниже. Заполните необходимые данные и, наконец, нажмите кнопку «Y» на клавиатуре в конце приглашения, чтобы сохранить изменения.
Если вы хотите опустить всю эту информацию, просто нажмите, ENTER чтобы принять значения по умолчанию.
Информация о новом пользователе сохраняется в /etc/password файле. Поэтому для просмотра информации о пользователе запустите
Шаг 3. Добавьте нового пользователя в группу sudoers
Чтобы добавить вновь созданного пользователя в группу sudoers, используйте команду usermod, как показано в синтаксисе ниже:
В нашем случае, чтобы добавить пользователя Джека в группу sudoers, мы запустим
Вы можете проверить, добавлен ли пользователь в группу sudo, выполнив команду id .
Следующий вывод показывает, что пользователь jack добавлен в группу sudo:
Вы также можете использовать команду gpasswd, чтобы добавить пользователя в группу sudo.
В следующем примере я добавил пользователя johnny в группу sudo с помощью gpasswd:
Примечание. Если вы получаете сообщение «sudo: command not found», установите пакет sudo с помощью apt-get:
Шаг 4: Тестирование пользователя с помощью sudo
Последний шаг — подтверждение, есть ли у нового пользователя права sudo.
Переключитесь на нового пользователя, как показано
Теперь вызовите команду sudo, а затем любую команду. в этом случае мы запустим команду whoami .
За этим последует список из нескольких моментов, о которых вы должны помнить, работая как пользователь root.
Затем вам будет предложено ввести пароль пользователя, и после этого команда будет выполнена.
Пример вывода
Если вы хотите вернуться к пользователю root, вы можете запустить sudo -i команду, но вы должны указать пароль root:
Заключительные мысли
В этом руководстве вы узнали, как добавить пользователя в группу sudoers. В качестве хорошей практики обычно рекомендуется использовать обычного пользователя в серверной системе вместо входа в систему как root. Это исключает вероятность ошибиться в качестве пользователя root и нанести необратимый ущерб серверу.
Как создать и удалить пользователя в Debian 9
В этом уроке мы покажем вам, как создать и удалить пользователя в Debian 9. В начальной настройке сервера создается только одна учетная запись пользователя, и это «root» учетная запись пользователя. Этот пользователь root имеет самые высокие привилегии и имеет доступ ко всем файлам и командам в системе. Но слишком много привилегий и работает как пользователь root не всегда рекомендуется, и если вы недостаточно осторожны, это может иметь разрушительные последствия для вашей системы.
Поэтому рекомендуется создавать дополнительных пользователей с ограниченными привилегиями для наиболее распространенных задач. Новая учетная запись пользователя также должна быть создана для любого другого пользователя, который будет использовать ваш сервер. Кроме того, мы также покажем вам, как предоставить пользователям права root при необходимости через команду sudo.
Создать нового пользователя на Debian 9
После входа в систему вы можете создать нового пользователя с помощью Добавить пользователя команда. В нашем примере мы создадим пользователя под названием «newuser». Для этого просто введите в командной строке следующее:
Вам будут заданы дополнительные вопросы.
Во-первых, вам нужно будет ввести и подтвердить пароль для этого пользователя.
Затем вам будет предложена дополнительная информация о пользователе, такая как полное имя, номер комнаты, рабочий телефон, домашний телефон и прочее. Эта информация является необязательной, и вы можете просто нажать ENTER по каждому вопросу, чтобы пропустить ее.
В конце вам будет предложено подтвердить всю информацию, которую вы указали до сих пор. Если все правильно, просто нажмите Y, а затем Enter.
Это результат, который вы должны получить, для нашего нового пользователя, называемого «newuser»:
При этом был успешно создан новый пользователь и группа с именем «newuser». Его домашний каталог также был создан в следующем месте на вашем сервере: / home / newuser
Теперь вы можете войти в систему как пользователь «newuser» на свой сервер, используя пароль, который вы создали.
Добавить пользователя в группу sudo на Debian 9
Теперь мы покажем вам ho, чтобы разрешить этот новый пользователь, который вы только что создали, для выполнения команд в качестве суперпользователя или другого пользователя системы. Для этого вам нужно будет добавить пользователя в группу sudo. Все члены этой группы имеют привилегии sudo.
По умолчанию все новые пользователи добавляются только в свою группу во время создания первого пользователя. Чтобы добавить нашего пользователя «newuser» в группу sudo, вам нужно запустить следующую команду:
Вы также можете проверить, является ли наш пользователь теперь членом группы sudo, с группы команды:
Вы должны получить следующий результат, показывая, что «newuser» является членом как newuser, так и группы sudo:
Теперь вы можете переключиться на этого пользователя с помощью su команда:
и попробуйте запустить команды с правами администратора, используя Sudo команда. Например, обычный пользователь не имеет привилегий для выполнения команд, необходимых для обновления всего системного программного обеспечения на сервере до последней версии:
Если вы попытаетесь запустить эти команды в обычном режиме, во время входа в систему как пользователь «newuser» вы получите следующий результат:
Но поскольку наш пользователь добавлен в группу sudo, мы можем использовать Sudo для успешного обновления нашей системы:
Удаление пользователя в Debian 9
Если вам больше не нужен пользователь, который мы создали, мы можем удалить его с помощью deluser команда.
Предположим, мы хотим удалить пользователя «newuser». Вы можете выполнить следующую команду:
Однако это не приведет к удалению домашней директории пользователя. Если вы хотите удалить домашний каталог пользователя, вы должны запустить следующую команду:
Теперь пользователь полностью удален из нашей системы.
Это все, что вам нужно знать, когда дело доходит до создания и удаления пользователя на Debian 9.
Большой мануал: часть 9. Cоздаём пользователей, группы и структуру каталогов на будущее
Сегодня мы будем создавать пользователей в системе, которые позднее будут использоваться для доступа к серверу по ssh/ftp и для редактирования файлов наших сайтов.
Всё происходящее ниже — фундамент безопасности нашего сервера (точнее, сайтов, расположенных на нём, если их несколько).
Мы будем преследовать несколько целей:
1) пользователи не должны иметь возможности подсмотреть файлы друг у друга в домашних каталогах под собой.
2) веб-сервер, запущенный от имени пользователя www-data должен иметь возможность просматривать файлы сайтов, но не должен иметь возможности писать в произвольные файлы в докрутах.
3) работающий chroot по sftp/ftp (chroot для sftp мы уже настроили в статье про openssh-server, а chroot для ftp настроим позднее).
4) если мы запустили сайт от имени пользователя через mpm-itk (такое нужно битриксу, например), то пункт 1 должен соблюдаться.
Погнали.
Начнем с грустного — изначально я не очень правильно составил план статей цикла. Пользователь www-data нам нужен уже сейчас, но чтобы корректно создать его — нужны пакеты с apache2. Можно было бы создать пользователя и группы руками, но проще всё же поставить пакеты и пока забыть про них:
# apt-get install apache2 apache2-mpm-itk apache2-utils apache2.2-bin apache2.2-common
Теперь создадим 2 нужные нам группы пользователей:
# addgroup secure; addgroup sftponly
Группа secure будет использоваться нами для того, чтобы пользователи не могли смотреть чужие файлы, а группу sftponly мы будем использовать для того, чтобы включать-выключать пользователю chroot в ssh-сервере (и, соответственно, по sftp). Освежите память, прочитайте часть 4 мануала, если не помните о чём я.
Теперь начинаем создавать пользователя. Далее считаем, что пользователя зовут username (заменяйте везде username на желаемое имя пользователя).
Создадим ему домашний каталог (обратите внимание, что домашним каталогом у нас будет /home/username/data, а не /home/username):
# mkdir -p /home/username/data
# useradd -d /home/username/data -s /bin/bash username
Добавим его в группу secure, чтобы он не мог попасть в домашний каталог другого пользователя:
# usermod -a -G secure username
Пропишем ему пароль:
# passwd username
Настроим права и создадим каталог для сайта.
Каталог /home/username должен быть доступен на запись только руту, чтобы работал chroot() в vsftpd и sftp:
# chown root:root /home/username
# chmod 755 /home/username
Пользователи, состоящие в группе secure, не должны иметь возможности попасть в домашний каталог пользователя, а сам пользователь и пользователи не состоящие в этой группе (в т.ч. и www-data) — должны. При этом сам пользователь в этом каталоге сможет писать, само собой:
# chown username:secure /home/username/data
# chmod 705 /home/username/data
Создадим каталоги для временных файлов веб-сервера и для докрутов наших сайтов:
# mkdir -p /home/username/data/www
# mkdir -p /home/username/data/mod-tmp
Все каталоги в домашней директории должны принадлежать нашему пользователю:
# chown -R username:username /home/username/data/*
Но tmp каталог должен принадлежать и пользователю, и группе www-data:
# chown -R username:www-data /home/username/data/mod-tmp
Ну и под конец запрещаем писать всем, кроме самого пользователя, в каталоги в нашем хомяке:
# chmod -R 755 /home/username/data/*
Но разрешаем писать пользователю+группе www-data в каталог mod-tmp:
# chmod -R 770 /home/username/data/mod-tmp
Теперь переходим к созданию каталога для нашего будущего сайта. В принципе, пофиг, как назвать этот каталог, но я стараюсь называть их по имени основного домена будущего сайта (пусть будет example.com):
# mkdir /home/username/data/www/example.com
# chown username:username /home/username/data/www/example.com
Если вы понимаете, что происходит выше — обязательно соблюдайте порядок команд, иначе у вас ничего не выйдет 😉
И последний штрих. Чтобы пользователь не мог зайти по ssh на сервер + чтобы запретить ему выходить за пределы каталога /home/username по sftp/ftp нужно добавить его в группу sftponly:
# usermod -a -G sftponly username
Если понадобится снова включить ему ssh, то удалите его из этой группы:
# deluser username sftponly
Комментарии (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 также.
Это вы зря.
Нужно выставить chmod 777 именно на те каталоги, куда движку нужно писать из http-рантайма.
В случае tt-rss это каталоги cache, feed-icons, lock.
В случае owncloud — только каталог с самими файлами.
Остальные каталоги лучше чмодить в 777 только на время обновления движка/плагинов.