Поиск по сайту:

Добавление, удаление и предоставление привилегий 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.

Статьи по данной тематике