Суперпользователь и как правильно с ним работать

11 июля 2025
Для администрирования в GNU/Linux системах используется учетная запись root – которая по-другому именуется Суперпользователь. Особенность данной учетной записи заключается в том, что у неё больше прав и возможностей относительно других. По соображениям безопасности у обычных пользователей гораздо меньше возможностей в системе – это сделано для того, чтобы они не смогли случайно привести её в состояние неработоспособности. Однако многие администраторы забывают, что учетной записью Суперпользователя нужно пользоваться не на постоянной основе, а только в случаях, когда это необходимо для администрирования системы. Для всего остального есть личная учетная запись и специальные инструменты для повышения привилегий. О том, как этими инструментами правильно пользоваться и поговорим в этой статье.

su и sudo - отличия

Ну и первое, что может прийти нам на ум это инструменты su и sudo. Давайте разберёмся в чем же их отличия.

sudo - выполнить команду от имени другого пользователя 
sudo - это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея - дать пользователям как можно меньше прав, но при этом ровно столько, сколько необходимо для решения поставленных задач.
Команда sudo предоставляет возможность пользователям выполнять команды от имени root. В большинстве случаев, грамотная настройка sudo делает работу от имени суперпользователя ненужной.
Команда su используется для подмены идентификатора пользователя. Идентификатор нового пользователя может быть указан посредством аргумента имя_пользователя. По умолчанию это суперпользователь (UID=0). 
Таким образом, если вы знаете логин и пароль учетной записи – вы можете переключаться на неё во время работы. После завершения работы из неё можно выйти при помощи команды «exit».

Вот и первое их отличие: «sudo» - позволяет выполнить одну команду с привилегиями root, а команда «su» - сменить пользователя на root, если другой пользователь не указан явно в аргументе команды. 
Второе отличие: при использовании команды с «sudo» - запрашивается пароль текущего пользователя, из-под которого вы запускаете данную команду. В случае с командой «su» - нужно ввести пароль пользователя, за которого вы хотите войти. В случае использования данной команды без аргументов – понадобится пароль от root.
По умолчанию, при использовании команды «su», вызывается непосредственно оболочка пользователя, однако, при указании флага аргумента «-», su вызывает оболочку регистрации в системе. Это значит, что текущий рабочий каталог будет изменён в домашний каталог нового пользователя и первый аргумент оболочки будет иметь префикс -.
Может показаться, что команда «su» и команда «su - » работают одинаково, но на самом деле это не так!  
Выполнив из-под пользователя ivanov команду «su», мы останемся в том же рабочем окружении, что и были (то есть получив права супер-администратора, всё равно нашим домашним каталогом останется /home/ivanov, а также все переменные рабочего окружения оболочки). 
Следовательно, если какая-то программа или команда захочет что-то записать в домашнюю папку, то она сделает это в каталоге /home/ivanov, но владельцем файла установит уже пользователя root, что потом при работе с правами пользователя ivanov не позволит этот файл редактировать, удалить и т. д. Совсем плохо, если этим файлом окажется какой-то из файлов конфигурации. 

Поэтому, запомните:
Используя команду su, обязательно выполняйте её с аргументом «–»:
su -
Данный вариант команды запускает оболочку, как если бы root действительно зашел в систему.
Попробуйте сравнить значения переменных при использовании команд su и su -.

Больше отличий

 Больше отличий и нюансов в использовании команд su и sudo можно увидеть в таблице ниже:

Основные правила

 В завершение запомните несколько правил:
1. Никогда не выполняйте из-под Суперпользователя пользовательскую работу – на это у вас должна быть личная учетная запись.
2. При необходимости выполнить действия, требующие прав администратора – воспользуйтесь инструментами sudo или su. В случае использования утилиты su – не забывайте завершить сеанс после выполнения задач.
3. Назначайте службам и пользователям минимально необходимые права.
4. На этапе установки системы – по возможности блокируйте использование учетной записи root.

А если вы хотите больше узнать про администрирование в GNU/Linux – приходите к нам на курсы!
Автор статьи
Павел Груздев
Преподаватель:
направлений "Системное администрирование" и "Операционные системы"

Хотите преподавать в АйТи Клауд?

Если вы имеете компетенции и хотите работать тренером курсов в АйТи Клауд - оставьте ваши данные, мы свяжемся с вами!