Добавление, удаление и предоставление привилегий Sudo пользователям в Ubuntu
Создайте пользователя sudo в Ubuntu Linux
В этом руководстве объясняется, как добавлять, удалять и предоставлять привилегии Sudo пользователям в операционной системе Ubuntu Linux. Руководство официально протестировано на версиях Ubuntu 22.04 и 20.04 LTS. Однако шаги, приведенные ниже, аналогичны и для других дистрибутивов на базе Ubuntu, таких как Pop!_OS.
Прежде чем углубляться в эту тему, давайте посмотрим, что такое sudo и его преимущества.
1. Что такое судо?
В операционных системах Linux и Unix существует специальный пользователь — root. Пользователь root
может делать что угодно в Unix-подобной системе.
Использование пользователя root для повседневных действий может быть опасным и не рекомендуется. Одна неправильная команда может разрушить всю систему! Здесь на помощь приходит sudo.
Sudo позволяет авторизованным пользователям выполнять задачи с привилегиями корневого уровня, даже если они не знают пароль пользователя root.
Вот почему важно создать обычного пользователя и добавить его в группу пользователей sudo для выполнения административных задач. Следовательно, этот пользователь может действовать как обычный пользователь, так и администратор при запуске команд с префиксом sudo.
2. Преимущества использования Sudo
- Вам не нужно сообщать пароль root другим пользователям.
- Пользователям не нужно знать пароль пользователя root для выполнения административных задач.
- При выполнении административной задачи пользователям будет предложено ввести пароль sudo, прежде чем в системе произойдут какие-либо изменения. Это должно заставить пользователей задуматься о последствиях того, что они делают.
- Права администратора можно легко предоставить пользователям и отозвать в любой момент, если они больше не нужны.
- Некоторые дистрибутивы Linux, например Ubuntu, по умолчанию отключают пользователя root. Таким образом, нет возможности провести грубую атаку на пользователя root. Даже если кто-то попытается, это будет бессмысленно. Потому что нет пароля root, который можно взломать.
- Что еще более важно, сеанс sudo будет завершен по истечении короткого периода времени. На тот случай, если вы оставили терминал открытым после выполнения некоторых команд с разрешением sudo, срок действия аутентификации автоматически истечет. Следовательно, другие пользователи не могут выполнять дальнейшие административные задачи. По умолчанию пароль sudo запоминается в течение 15 минут в текущем сеансе. После этого необходимо ввести пароль еще раз.
- Вы можете отслеживать активность командной строки пользователей sudo. sudo добавляет запись журнала команд, выполняемых пользователями, в файл /var/log/auth.log. Если есть проблема, вы можете просмотреть эти команды и попытаться выяснить, что пошло не так.
Это несколько преимуществ использования sudo. Теперь давайте продолжим и посмотрим, как добавлять, удалять и предоставлять привилегии Sudo пользователям в Ubuntu Linux.
Сначала создадим обычного пользователя.
3. Добавьте нового пользователя в Ubuntu Linux.
Сначала давайте создадим обычного пользователя, например "senthil".
Для этого запустите:
sudo adduser senthil
Замените «sentil» на свое имя пользователя.
Пример вывода:
Adding user `senthil' ...
Adding new group `senthil' (1001) ...
Adding new user `senthil' (1001) with group `senthil' ...
Creating home directory `/home/senthil' ...
Copying files from `/etc/skel' ...
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: password updated successfully
Changing the user information for senthil
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Создать нового пользователя в Ubuntu
Мы только что создали нового пользователя под названием «sentil». Этому пользователю еще не предоставлен доступ к sudo. Поэтому он не может выполнять никаких административных задач.
Вы можете проверить, есть ли у пользователя доступ к sudo или нет, как показано ниже.
sudo -l -U senthil
Пример вывода:
User senthil is not allowed to run sudo on ubuntu2204.
Проверьте, есть ли у пользователя доступ к Sudo в Ubuntu
4. Предоставьте привилегии Sudo пользователям в Ubuntu Linux
Добавьте вновь созданного пользователя в группу sudo, используя следующую команду:
sudo adduser senthil sudo
Пример вывода:
Adding user `senthil' to group `sudo' ...
Adding user senthil to group sudo
Done.
Предоставление привилегий Sudo пользователям в Ubuntu Linux
Мы предоставили разрешение sudo пользователю «senthil».
Вы также можете использовать следующую команду, чтобы добавить пользователя в группу sudo.
sudo usermod -aG sudo senthil
Чтобы проверить, добавлен ли пользователь в группу sudo, выполните:
sudo -l -U senthil
Пример вывода:
Matching Defaults entries for senthil on ubuntu2204:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty
User senthil may run the following commands on ubuntu2204:
(ALL : ALL) ALL
Проверьте, добавлен ли пользователь в группу Sudo
Здесь "(ALL : ALL) ALL" означает, что пользователь имеет неограниченные привилегии и может запускать любую команду в системе. В нашем случае пользователь «senthil» был добавлен в группу пользователей sudo . Отныне он может выполнять любые административные задачи.
Если вы откроете содержимое файла sudoers;
sudo cat /etc/sudoers
Вы увидите несколько строк, как показано ниже.
User privilege specification
root ALL=(ALL:ALL) ALL
Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
See sudoers(5) for more information on "@include" directives:
@includedir /etc/sudoers.d
Как видно из приведенного выше вывода, все члены группы sudo могут выполнять любую команду.
- Первое ВСЕ — это разрешенные пользователи.
- Второе ВСЕ - это хозяева. Если вы распространяете один и тот же файл «sudoers» на множество хост-компьютеров, пользователь сможет выполнять административные команды на всех хостах.
- Третий — это пользователь, который запускает команду.
- Последний — разрешенные команды.
Примечание. В некоторых системах Linux, например Arch Linux, вам необходимо установить пакет "sudo" перед созданием нового пользователя sudo.
pacman -S sudo
В Дебиане:
apt install sudo
В настольных и серверных версиях Ubuntu по умолчанию устанавливается «sudo».
5. Проверьте пользователей Sudo
Чтобы проверить, может ли пользователь выполнять административные задачи, выйдите из системы и снова войдите в систему как новый пользователь.
Кроме того, вы можете мгновенно переключиться на другого пользователя без необходимости выхода из текущего сеанса, как показано ниже.
sudo -i -u <username>
Пример:
sudo -i -u senthil
Мы перешли на пользователя «sentil».
Теперь выполните любые команды с префиксом «sudo», как показано ниже.
sudo apt update
Запустите команду Apt с разрешением Sudo
Да, пользователь «sentil» может запускать административные команды с привилегиями sudo.
6. Удалить доступ к Sudo у пользователей
Вы можете удалить разрешения sudo у пользователя, не удаляя его полностью.
Внимание: Вы должны быть осторожны, делая это в системах Ubuntu. Не удаляйте настоящего администратора из группы «sudo». В системе должен быть хотя бы один пользователь sudo.
Во-первых, убедитесь, что вы вышли из сеанса пользователя «senthil» и вошли в систему как другой пользователь sudo.
Чтобы отозвать разрешения sudo у пользователя (например, sendhil), команда будет такой:
sudo deluser senthil sudo
Приведенная выше команда удалит пользователя с именем «senthil» из группы «sudo».
Пример вывода:
Removing user `senthil' from group `sudo' ...
Done.
Обратите внимание, что эта команда удалит пользователя «senthil» только из группы sudo, но не удалит пользователя навсегда из системы.
Альтернативно, выполните следующую команду, чтобы отозвать у пользователя разрешение sudo:
sudo gpasswd -d senthil sudo
Теперь пользователь становится обычным пользователем и не может выполнять какие-либо административные задачи с разрешением sudo.
Чтобы проверить, действительно ли пользователь был удален из группы «sudo», запустите:
sudo -l -U senthil
Пример вывода:
User senthil is not allowed to run sudo on ubuntu2204.
Удалить доступ к Sudo у пользователя с помощью команды Deluser
Разрешение sudo было удалено у пользователя.
7. Удаление пользователей навсегда
На приведенном выше этапе мы удалили только пользователей из группы «sudo». Но пользователь все еще существует в системе. Чтобы полностью удалить пользователя из системы Linux, войдите в систему как пользователь root или sudo и запустите:
sudo deluser <username>
Пример:
sudo deluser senthil
Если вы хотите удалить пользователя вместе с его домашним каталогом и почтовой очередью, выполните:
sudo deluser --remove-home senthil
Пример вывода:
Looking for files to backup/remove ...
Removing files ...
Removing user `senthil' ...
Warning: group `senthil' has no more members.
Done.
Для получения более подробной информации посетите страницы руководства по командам adduser
, deluser
и sudo
.
man adduser
man deluser
man sudo
Это руководство также доступно для других дистрибутивов Linux. Ознакомьтесь со следующими руководствами, чтобы добавлять, удалять и предоставлять привилегии sudo пользователям в дистрибутивах Alpine Linux, Arch Linux, CentOS и Fedora Linux.
- Добавление, удаление и предоставление привилегий Sudo пользователям в Alpine Linux
- Добавление, удаление и предоставление привилегий Sudo пользователям в Arch Linux
- Добавление, удаление и предоставление привилегий Sudo пользователям в CentOS
- Добавление, удаление и предоставление привилегий Sudo пользователям в Fedora
8. Заключение
В этом подробном руководстве мы рассмотрели несколько важных вещей, связанных с sudo. Сначала мы кратко познакомили вас с sudo и его преимуществами. Затем мы обсудили, как добавлять, удалять и предоставлять привилегии sudo пользователям в операционной системе Ubuntu 22.04 LTS. Наконец, мы увидели, как отозвать разрешение sudo и как удалить пользователя навсегда.
Несмотря на то, что он написан специально для Ubuntu, этот метод практически одинаков для других систем на базе Ubuntu и DEB.
Связанное чтение:
- Как изменить время ожидания пароля Sudo в Linux
- Как изменить файл журнала Sudo по умолчанию в Linux
- Как восстановить права пользователя Sudo
- Как найти всех пользователей Sudo в вашей системе Linux
- Как выполнить определенные команды без пароля Sudo в Linux
Избранное изображение Мохамеда Хасана с сайта Pixabay.