OS Linux

SUDO и SU в Linux

SUDO и SU в Linux

В этом руководстве по Linux я расскажу, как правильно использовать команды суперпользователя sudo и su. Как пользователь Linux, вы когда-нибудь задумывались, почему мы в основном используем sudo и почему в наши дни sudo устанавливается из коробки практически в каждом дистрибутиве Linux?

Я впервые познакомился с Linux для настольных компьютеров в 2009 году. Тогда у большинства дистрибутивов Linux не было установленно по умолчанию sudo. У большинства OS семейства UNIX был обычный пользователь. Когда были нужны привилегии суперпользователя, использовали команду su. При переключении пользователя переходили к пользователю root, выполняли необходимые действия от имени суперпользователя и возвращались к своей обычной учетной записи.

Самый первый дистрибутив Linux, насколько я знаю, который использовал sudo из коробки, был Ubuntu. На веб-форумах постоянно были споры о том, что Ubuntu использует sudo, а другие дистрибутивы используют su. Сравнивали, какая программа лучше и безопасней для получения привилегий. Многие не хотели использовать sudo, но он быстро завоевал популярность. Хотя в настоящее время почти все признают тот факт, что sudo - это стандартная утилита в Linux.

В те дни, когда sudo не было распространено в Linux, хакеры знали, что у каждого сервера Linux есть пользователь root, и если они получали доступ к этому пользователю, то у них были права на чтение, запись, выполнение любых файлов и команд в операционной системе от имени суперпользователя. Пользователи Linux и особенно администраторы Linux начали понимать, что это большая проблема безопасности. sudo стал таким популярным потому, что он отчасти решил эту проблему, и с sudo очень легко работать.

В некоторых дистрибутивах при установке обычно запрашивается пароль от пользователя root, а также пароль учетной записи создаваемого пользователя. Ubuntu не запрашивает пароль root во время установки, только пароль создаваемой учетной записи пользователя, который будет иметь доступ с правами суперпользователя через sudo, оставляя учетную запись root отключенной. Если вы хотите, чтобы команда su работала, установите пароль для учетной записи root.

sudo passwd root

! | Обратите внимание:

Su и sudo - это два отдельных инструмента с очень разным взаимодействием, поэтому не следует применять команду на подобии sudo su.

Команда SU

su - требует пароль root и позволяет пользователям проходить аутентификацию как root, как если бы мы пытались войти в систему, используя имя пользователя root.

При использовании Linux под обычным пользователем, когда нужны привилегии суперпользователя, есть только два варианта:

  • либо выйти из сессии обычного пользователя и снова войти под учетной записью root, что не очень безопасно;
  • либо в терминале командой su под обычным пользователем переключить на учетную запись root и выполнять в терминале действия от имени root, что также опасно;

 wheel - это специальная группа пользователей, которая управляет доступом к команде su

В большинстве дистрибутивов Linux по стравнению с Ubunt используется группа wheel, а в Ubuntu группа по умолчанию называется sudo, потому что в Ubuntu вы добавляете своего обычного пользователя в группу суперпользователей, и это решило много проблем с безопасносностью.

Команда SUDO

sudo - позволяет пользователю подтвердить свою личность (например повторно введя свой собственный пароль) и получить привилегии root для конкретной задачи (или привилегии другого пользователя).

Если sudo не установлен в системе Linux, необходимо только установить sudo, а затем любого обычного пользователя, которому вы хотите предоставить привилегии суперпользователя, добавить в группу wheel или sudo.

Команда sudo намного безопаснее, чем su, потому что при выполнении sudo вы знаете, что предоставили временно этому пользователю привилегии суперпользователя. И под "временно" я подразумеваю короткий период времени, когда у вас есть права суперпользователя, но по завершении сессии придется вызывать sudo и снова вводить пароль, чтобы получить эти привилегии. Это намного безопаснее, чем su, потому что при входе под пользователем root у вас нет определенного периода времени использования сессии под пользователем root. Все, кто будет иметь доступ к этой учетной записи или к этому компьютеру, будут иметь права суперпользователя, а это довольно не безопасно.

Выводы

В этой статье мы рассмотрели как работают sudo и su в linux и разобрали что эти команды привязаны к разным улитам. Как видите, несмотря на то, что они очень просты, они скрывают полезные фунции, которые можно использовать в своей системе.

Навигация

OS с сертификатом от ФСТЭК

« Предыдущая статья

Что такое FAKEROOT

Следующая статья »