17 августа, 2020 11:40 дп
Команда sudo – это механизм для передачи простым пользователям привилегий администратора, обычно доступных только пользователю root.
Данный мануал расскажет, как создать нового пользователя с доступом к команде sudo в Ubuntu 20.04, не меняя файл /etc/sudoers на вашем сервере.
Примечание: Если вы хотите настроить sudo для уже существующего пользователя, просто перейдите к разделу 3.
- 1: Вход на сервер
- 2: Создание нового пользователя
- 3: Добавление пользователя в группу sudo:
- 4: Проверка доступа sudo
- Заключение
- Требования
- 1: Добавление пользователя
- 2: Настройка доступа к команде sudo
- Добавление пользователя в группу sudo
- Редактирование файла /etc/sudoers
- Тестирование настройки
- 3: Удаление пользователей
- Заключение
- Добавление пользователя
- Настройка прав доступа sudo
- Добавление пользователя в группу sudo
- Тестирование настройки
- Редактирование файла /etc/sudoers
- Удаление пользователей
- Заключение
- Adding a Superuser on Ubuntu and Debian
- 1. The Command-Line Approach
- 2. Using the Graphical Interface
- Creating a New Superuser on Arch Linux
- Adding a sudo Account in CentOS
- How to Add a Superuser in Fedora
- What is a sudo user?
- How to create a sudo user
- Step 1: Log in to your server
- Step 2: Create a new user
- Step 3: Add the new user to the sudo group
- Step 4: Test sudo
- Understanding the sudoers file
- How to restrict sudo users from executing certain commands
- How to run specific sudo commands without a password
- Conclusion
- Предназначение root-прав в Linux
- Безопасность использования прав суперпользователя
- Команда sudo и примеры ее использования
- Переключение на суперпользователя
- Предоставление и отзыв прав суперпользователя
- Создание нового пользователя с root
- Для существующей учетной записи
- Откат прав суперпользователя
1: Вход на сервер
Подключитесь к серверу по SSH как пользователь root:
2: Создание нового пользователя
Вместо 8host укажите имя вашего пользователя. После этого вам будет предложено выбрать и подтвердить пароль:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Затем вам нужно указать информацию о новом пользователе (вы можете оставить эти поля пустыми).
3: Добавление пользователя в группу sudo:
Не забудьте вместо 8host указать имя пользователя, которого вы только что создали.
4: Проверка доступа sudo
Давайте проверим, работают ли привилегии sudo для вашего нового пользователя. Сначала с помощью команды su перейдите в учетную запись этого пользователя:
su - 8host
Теперь убедитесь, что вы можете использовать команду sudo. Просто добавьте sudo к команде, которую вы хотите запустить с привилегиями суперпользователя:
Например, вы можете просмотреть содержимое каталога /root, который обычно доступен только пользователю root:
sudo ls -la /root
При первом запуске команды sudo в текущей сессии вам будет предложено ввести пароль этого пользователя. Введите пароль, который вы присвоили новому пользователю, чтобы продолжить:
Примечание: Не путайте этот пароль с паролем root! Введите пароль своего нового пользователя.
Если ваш пользователь действительно входит в соответствующую группу и вы правильно ввели пароль, команда sudo, которую вы ввели, будет запущена с привилегиями root.
Заключение
Tags: Sudo, sudoers, Ubuntu, Ubuntu 20.04
25 сентября, 2019 12:17 пп
Управление пользователями – один из самых базовых и самых важных навыков системного администратора среды Linux. Как правило, в новой системе по умолчанию существует только один пользователь – это root.
Пользователь root имеет широкие привилегии, он очень гибкий, но работать с сервером как root на постоянной основе крайне не рекомендуется. Дело в том, что, обладая абсолютными правами, пользователь root может случайно нанести непоправимый вред системе и серверу. Потому для повседневной работы нужно создать дополнительного пользователя с обычными привилегиями, а затем передать ему права суперпользователя. Также можно создать дополнительные аккаунты для других пользователей, которые должны иметь доступ к серверу.
Данный мануал научит вас создавать аккаунты новых пользователей, передавать права sudo и удалять пользователей.
Требования
Для работы вам понадобится сервер Ubuntu 18.04, предварительно настроенный по этому мануалу.
1: Добавление пользователя
Чтобы создать нового пользователя в сессии root, введите:
Находясь в сессии не-root пользователя с доступом к команде sudo, можно добавить нового пользователя с помощью команды:
Эта команда предложит:
- Установить и подтвердить пароль.
- Указать дополнительные данные о пользователе. Это опционально; чтобы принять информацию по умолчанию, просто нажмите Enter.
- Подтвердить предоставленную информацию (нажмите Y).
Новый пользователь готов. Теперь можно подключиться к серверу с его помощью. Но без команды sudo этот пользователь не сможет выполнять многие команды.
2: Настройка доступа к команде sudo
Чтобы иметь возможность использовать новый аккаунт для выполнения задач администратора, нужно разрешить новому пользователю доступ к команде sudo. Это можно сделать двумя способами:
- Добавить пользователя в группу sudo
- Отредактировать файл /etc/sudoers
Добавление пользователя в группу sudo
В системе Ubuntu 18.04 все пользователи, которые входят в группу sudo, по умолчанию имеют доступ к команде sudo.
Чтобы узнать, в какие группы входит ваш новый пользователь, введите:
По умолчанию каждый новый пользователь системы входит только в одноименную группу. Чтобы добавить пользователя в нужную группу, введите:
Флаг –aG добавляет пользователя в перечисленные в команде группы.
Редактирование файла /etc/sudoers
Еще один способ расширить привилегии пользователя – отредактировать файл sudoers. Для этого используется команда visudo, которая позволяет открыть файл /etc/sudoers в редакторе и явно задать привилегии каждого пользователя в системе.
Редактировать файл sudoers рекомендуется исключительно через visudo, поскольку эта команда блокирует внесение одновременных правок и выполняет проверку файла перед перезаписью. Это предотвращает ошибки в настройке sudo, которые могут повлечь за собой потерю всех привилегий.
Если вы находитесь в сессии root, введите команду:
В сессии не-root пользователя с доступом к sudo введите:
Как правило, visudo открывает файл /etc/sudoers в редакторе vi, сложном для новичков. По умолчанию в новых установках Ubuntu visudo использует более простой редактор nano. Для перемещения курсора используйте клавиши со стрелками. Найдите такую строку:
root ALL=(ALL:ALL) ALL
Скопируйте эту строку и вставьте её ниже, указав вместо root имя пользователя, которому нужно передать права суперпользователя.
Добавьте такую строку для каждого пользователя, которому нужны расширенные привилегии. После этого сохраните и закройте файл.
Тестирование настройки
Теперь нужно убедиться, что новый пользователь имеет доступ к sudo.
По умолчанию команды в сессии нового пользователя запускаются так:
Чтобы выполнить команду с правами администратора, добавьте sudo в начало:
При этом система запросит пароль вашего текущего пользователя.
3: Удаление пользователей
Ненужные аккаунты можно удалить из системы.
Чтобы удалить пользователя, оставив его файлы, введите такую команду:
как пользователь с расширенными привилегиями:
Чтобы удалить пользователя вместе с его домашним каталогом и всеми файлами, используйте:
как пользователь с расширенными привилегиями:
Если удалённый пользователь обладал правами суперпользователя, нужно отнять эти права. Снова отредактируйте файл:
Если бы строка осталась в файле, а в системе появился другой пользователь с таким же именем, он автоматически получил бы расширенные привилегии. Теперь этого не случится.
Заключение
Управление пользователями – очень важный навык в администрировании сервера Ubuntu 18.04. Он позволяет отделять пользователей и передавать им только необходимый диапазон привилегий.
Дополнительную информацию о настройке sudo можно найти в нашем мануале Редактирование файла sudoers в Ubuntu и CentOS.
Tags: Ubuntu, Ubuntu 18.04
3 мая, 2016 12:20 пп
Управление пользователями – один из важнейших навыков системного администратора окружения Linux. Как правило, в новой системе по умолчанию существует только один пользователь – root.
Аккаунт root имеет широкие привилегии, и он очень гибок, однако работать с сервером как root на постоянной основе крайне не рекомендуется. Дело в том, что, обладая абсолютными правами, пользователь root может случайно нанести непоправимый вред системе и серверу. Потому для повседневной работы нужно создать дополнительного пользователя с обычными привилегиями, а затем передать ему права суперпользователя. Также можно создать дополнительные аккаунты для других пользователей, которые должны иметь доступ к серверу.
Данное руководство научит создавать аккаунты новых пользователей, передавать права sudo и удалять пользователей.
Добавление пользователя
Чтобы добавить нового пользователя в сессии root, введите:
Находясь в сессии не- root пользователя с доступом sudo, можно добавить нового пользователя с помощью команды:
- Установить и подтвердить пароль.
- Ввести дополнительные данные о пользователе. Это опционально; чтобы принять информацию по умолчанию, просто нажмите Enter.
- Подтвердить правильность предоставленной информации (нажмите Enter).
Новый пользователь готов! Теперь можно подключиться к серверу с его помощью.
Настройка прав доступа sudo
Чтобы иметь возможность использовать новый аккаунт для выполнения задач администратора, нужно разрешить пользователю доступ к команде sudo. Это можно сделать двумя способами:
- Добавить пользователя в группу sudo
- Отредактировать настройки sudo в файле /etc/sudoers
Добавление пользователя в группу sudo
В системе Ubuntu 16.04 все пользователи, входящие в группу sudo, по умолчанию имеют доступ к команде sudo.
Чтобы узнать, в какие группы входит новый пользователь, введите:
По умолчанию каждый новый пользователь системы входит только в одноименную группу. Чтобы добавить пользователя в группу, введите:
Флаг –aG добавляет пользователя в перечисленные группы.
Тестирование настройки
Теперь нужно убедиться, что новый пользователь имеет доступ к команде sudo.
По умолчанию команды в сессии нового пользователя запускаются так:
Чтобы выполнить команду с правами администратора, добавьте sudo в начало команды:
При этом система запросит пароль текущего пользователя.
Редактирование файла /etc/sudoers
Альтернативный способ расширить привилегии пользователя – отредактировать файл sudoers. Для этого используется команда visudo которая позволяет открыть файл /etc/sudoers в редакторе и явно указать привилегии каждого системного пользователя.
Редактировать файл sudoers рекомендуется исключительно при помощи visudo, поскольку эта команда блокирует внесение нескольких одновременных правок и выполняет проверку содержания перед перезаписью файла. Это предотвращает ошибки в настройке sudo, которые могут повлечь за собой потерю привилегий.
Если вы находитесь в сессии root, введите:
В сессии не-root пользователя с доступом к sudo введите:
Как правило, visudo открывает /etc/sudoers в редакторе vi, который может показаться сложным для новичков. По умолчанию в новых установках Ubuntu visudo использует более знакомый редактор nano. Для перемещения курсора используйте клавиши со стрелками. Найдите строку:
root ALL=(ALL:ALL) ALL
Скопируйте эту строку и вставьте её ниже, заменив root именем пользователя, которому нужно передать права суперпользователя.
Добавьте такую строку для каждого пользователя, которому нужны расширенные привилегии. Сохраните и закройте файл.
Удаление пользователей
Ненужные аккаунты можно удалить.
Чтобы удалить пользователя, оставив его файлы, введите:
Чтобы удалить пользователя вместе с его домашним каталогом, используйте:
Если удалённый пользователь обладал правами суперпользователя, необходимо отнять эти права, отредактировав файл:
Если бы строка осталась в файле, а в системе появился одноименный пользователь, он получил бы расширенные привилегии автоматически. Теперь этого не случится.
Заключение
Управление пользователями – необходимый навык при администрировании сервера Ubuntu 16.04. Он позволит отделить пользователей и дать им только необходимый для работы доступ.
Для получения дополнительных сведений о настройке sudo, ознакомьтесь с нашим руководством о редактировании файла sudoers.
Tags: sudoers, Ubuntu 16.04
sudo groupadd -r testgroup sudo useradd -g testgroup -M -r testuser
Notice the -r
option, which according to the man
page:
-r
Create a system account.
sudo -u testuser cat /dev/input/mouse0
However, I get:
cat: /dev/input/mouse0: Permission denied
Running the same command as root provides the expected output (garbled output from the mouse driver).
30 gold badges171 silver badges197 bronze badges
asked Mar 30, 2011 at 22:31
Nathan Osman
40 gold badges177 silver badges259 bronze badges
sudo adduser --group sudo newusername
sudo adduser existing_user sudo
54 gold badges315 silver badges489 bronze badges
answered Mar 30, 2011 at 23:05
sudo adduser paul sudo
17 gold badges79 silver badges82 bronze badges
answered Nov 6, 2012 at 1:53
answered Mar 30, 2011 at 23:54
Adam Byrtek
2 gold badges31 silver badges27 bronze badges
sudo adduser robert && sudo adduser robert sudo
answered Jun 29, 2018 at 21:53
1 silver badge4 bronze badges
sudo usermod -a newuser -G sudo
answered Jun 22, 2021 at 19:13
- Is there a
adduser
parameter to give the usersudo
powers automatically? - What are the default settings for
adduser
? Will it automatically create home directories and all the other things without extra parameters? (i.e. isadduser <username>
enough?)
53 gold badges469 silver badges719 bronze badges
asked Oct 21, 2011 at 13:56
adduser <username> sudo
less /etc/adduser.conf
adduser <username> --group sudo
5 gold badges17 silver badges34 bronze badges
answered Oct 21, 2011 at 14:02
Bruno Pereira
33 gold badges199 silver badges223 bronze badges
adduser <username> --ingroup sudo
In Ubuntu 11.10 and earlier, use this instead:
adduser <username> --group admin
adduser <username> --group sudo
sudo usermod -aG sudo <username>
1 silver badge6 bronze badges
answered Oct 21, 2011 at 14:00
Amith KK
13 gold badges66 silver badges121 bronze badges
sudo useradd *new-admin-username* -s /bin/bash -g sudo -m
-s
sets the user’s login shell-m
makes the user’s home directory if it doesn’t exist:
/home/*new-admin-username*
-g
adds the user to the sudo group so they will have admin privileges (>11.10)
sudo passwd *new-admin-username*
su *new-admin-username*
cd ~/
pwd
53 gold badges469 silver badges719 bronze badges
answered Nov 19, 2014 at 23:46
3 silver badges6 bronze badges
USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here" && sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 --non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' /var/log/auth.log
answered Nov 14, 2019 at 14:41
Adding a Superuser on Ubuntu and Debian
1. The Command-Line Approach
sudo adduser username
sudo usermod -aG sudo username
groups username
sudo adduser username sudo
The verification process remains the same as before.
2. Using the Graphical Interface
- Go to the Applications menu and click on the Users option. You will see a list of users including the newly created user(s).
- Click on the Unlock option, followed by the root password. You can switch to another user account by simply clicking it.
- As soon as you select it, you will see an option to convert the newly created user account into an administrator account. Toggle the button next to the Administrator label, and the account will get added as a sudo account.
Creating a New Superuser on Arch Linux
su
pacman -Sy sudo
useradd --create-home username
passwd username
usermod --append --groups wheel username
visudo
#%wheel ALL=(ALL) ALL
Remove the # symbol preceding the %wheel line and save the changes. Press Ctrl + O on the keyboard to save the file.
su username
whoami
sudo whoami
Adding a sudo Account in CentOS
Considering CentOS’s popularity, it would be a shame to miss out on the process of adding a sudo account in this distro. The process for adding a sudo account in CentOS is quite similar to the process specified above for Arch Linux, but with a few basic changes.
su
useradd -G wheel username
passwd username
su username
sudo whoami
.jpg)
How to Add a Superuser in Fedora
adduser username
passwd username
usermod -aG wheel username

visudo
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
.jpg)
Jump to Tutorial
You probably have heard of the concept “In Linux, everything is a file”. This sounds somewhat puzzling since the Linux system comprises various entities and not just files. We have directories, symbolic links, processes, pipes, and sockets just to mention a few. The oversimplification simply gives a high-level overview of the Linux architecture. It implies that in a Linux system, every single entity is considered a file. These entities are represented by a file descriptor which is a unique identifier for a file or other resources such as directories, network sockets, or processes – hence the concept “everything is a file”.
What is a sudo user?
How to create a sudo user
Step 1: Log in to your server
Provide the root password when prompted and hit ENTER to gain access to the server. If you are using Putty, simply type in the IP address of the remote server and click the ‘Open’ button, or hit ENTER.

Step 2: Create a new user

# id jumpcloud

Step 3: Add the new user to the sudo group
# id jumpcloud
# groups jumpcloud

Step 4: Test sudo
# su – jumpcloud
$ sudo command-to-be-executed
$ sudo apt update

Understanding the sudoers file
This opens the /etc/sudoers
file using the nano editor as shown. All lines starting with a hash sign – # – are comments and do not have any effect or impact on the file.

root ALL=(ALL:ALL) ALL
- The first parameter points to the username – in this case root user.
- The first “ALL” indicates that the rule is applicable to all hosts.
- The second “ALL” indicates that the root user can execute all commands as all users.
- The third “ALL” shows that the root user can execute all commands as all the user groups.
- Finally, the last “ALL” indicates that the rules are applicable to all commands.
%sudo ALL=(ALL:ALL) ALL
How to restrict sudo users from executing certain commands
# vim /etc/sudoers.d/jumpcloud
Next, copy and paste the line shown and save the changes.
jumpcloud ALL=(ALL)
!/usr/bin/apt upgrade
To find the full path of a command, use the which
command syntax as shown.
$ which command

jumpcloud ALL=(ALL)
!/usr/sbin/shutdown,!/usr/sbin/poweroff, !/usr/sbin/reboot,!/usr/sbin/init,!/usr/sbin/halt


How to run specific sudo commands without a password
Sometimes, you might need to run some commands without being prompted for a password. This is particularly helpful if you are running a script containing a sudo command.
jumpcloud ALL=(ALL) NOPASSWD: /usr/bin/apt update

Conclusion
В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Давайте детально обсудим, что может суперпользователь в Linux, как настроить root и для чего нужна команда
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
- чтение, запись и изменение любых атрибутов пользовательской папки;
- то же самое и для каталога
- выполнение программ в любом месте, где нет ограничений;
- чтение файлов с соответствующим атрибутом для всех пользователей.
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Команда sudo и примеры ее использования
тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.
Самый простой пример использования – запуск программы от имени суперпользователя. Для этого вводится:
sudo program \\ program – название приложения, которое вы хотите запустить
применяется для установки софта, команда в таком случае обретает вид:
sudo apt install program
В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи . Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.
Переключение на суперпользователя
Еще раз уточню, что команда идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите . В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда , но она обладает дополнительными аргументами, которые следует уточнить:
- -c – позволяет выполнить команду;
- -g – устанавливает группу для пользователя;
- -G – дополнительные группы для юзера;
- — -l —login – один из режимов входа, при котором происходит переключение домашнего каталога;
- -p – сохранение переменных окружения;
- -s – выбор оболочки для выхода.
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:
- Откройте Терминал и введите команду
- В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
- Добавьте новую учетную запись в группу sudo, введя user здесь тоже понадобится заменить).
- Проверьте выполненные действия, переключившись на новую учетную запись через . Для подтверждения введите пароль (при вводе символы не отображаются на экране).
- Выполните любую команду с и убедитесь, что все прошло успешно.
Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.
Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.