Если вы новичок в Linux и хотите управлять своим сервером более гибко, то, скорее всего, сталкивались с вопросом: как получить или выдать себе права суперпользователя, то есть root-права.
В этой статье я расскажу простыми словами, что такое root-права и как их безопасно получить или выдать в Linux.
Что такое root-права и зачем они нужны?
root — это главный пользователь в Linux, обладающий полномочиями выполнять любые задачи на системе. Он может устанавливать программы, настраивать систему, изменять важные файлы и управлять пользователями. Давать же обычным пользователям широкие права избыточно и не безопасно.
Но, бывают ситуации, когда требуется наличие нескольких отдельных пользователей, имеющих рутовый доступ, например, чтобы можно было отслеживать действия отдельных администраторов.
Как выдать root-права для пользователя?
Если вам нужно, чтобы конкретный пользователь всегда имел доступ к root-правам, это можно сделать, в случае с Ubuntu, с помощью добавления пользователя в группу sudo.
Добавление пользователя в группу sudo
В большинстве дистрибутивов Linux, таких как Ubuntu, пользователи, входящие в группу sudo, могут выполнять команды с правами администратора через sudo.
Создадим нового пользователя для наших тестов командой adduser:
root@ubuntu:~# adduser test_sudo_user
info: Adding user `test_sudo_user' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `test_sudo_user' (1001) ...
info: Adding new user `test_sudo_user' (1001) with group `test_sudo_user (1001)' ...
info: Creating home directory `/home/test_sudo_user' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for test_sudo_user
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
info: Adding new user `test_sudo_user' to supplemental / extra groups `users' ...
info: Adding user `test_sudo_user' to group `users' ...
root@ubuntu:~#
От нас потребуется придумать пароль нового пользователя и по желанию ввести информацию о нем. В результате мы создали пользователя test_sudo_user.
Проверим, какие пользователи сейчас принадлежат группе sudo:
root@ubuntu:~# grep ^sudo /etc/group
sudo:x:27:waky
root@ubuntu:~#
Как видим, нашего пользователя тут нет.
Добавим его командой usermod, подробнее о данной команде читайте в нашей отдельной статье. Выполним следующую команду:
root@ubuntu:~# usermod -aG sudo test_sudo_user
root@ubuntu:~#
Проверим результат:
root@ubuntu:~# grep ^sudo /etc/group
sudo:x:27:waky,test_sudo_user
root@ubuntu:~#
К группе добавился наш пользователь.
Теперь пользователь test_sudo_user сможет выполнять команды с помощью sudo без необходимости входа под root.
Важное предупреждение
Использование root-прав — это мощно, но рискованно. Неправильные действия могут привести к потере данных или неработоспособности системы.
Поэтому всегда внимательно проверяйте команды, которые собираетесь выполнить, особенно если те связаны с удалением, перемещением или переименованием файлов.
Заключение
Выдать root-права в Linux не сложно. В Ubuntu для этого достаточно добавить пользователя в группу sudo. Однако для создания еще одного пользователя с полным доступом у вас должны быть веские причины. Чем больше таких пользователей в системе, тем больше точек риска безопасности системы.