Перейти к основному содержанию

SUDO и SU

Linux

Обе команды sudo и su позволяют выполнить команду от любого пользователя, в том числе от root. Но есть между ними одно принципиальное различие.

  • Для выполнения команды от имени другого пользователя с помощью su, вы должны указать пароль другого пользователя.
  • Для выполнения команды от имени другого пользователя с помощью sudo, вы должны указать свой пароль.

SU

Команда su появилась раньше. При запуске без параметров она запрашивает пароль суперпользователя, при успехе подменяет имя текущего пользователя на root, оставляя текущие переменные окружения (почти все). Для запуска со всеми переменными окружения root:

su -

Недостатки su:

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

Достоинства su:

  • Работает "из коробки", не требует обязательных настроек.

SUDO

Команда sudo появилась позже и значительно усилила безопасность системы. Теперь не нужно раздавать пароли направо и налево. Можно тонко настраивать права доступа. Теперь root вообще можт не иметь пароля.

Для запуска со всеми переменными окружения root:

sudo -i

Недостатки sudo:

  • Требует настройки.
  • Писать дольше :)

Достоинства sudo:

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

Послесловие

Правила хорошего тона: не мешайте в коде вместе sudo и su, лучше использовать sudo.

Если вы единственный администратор на сервере, то нет ничего зазорного в использовании su.

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

Команда sudo запоминает на 15 секунд (по умолчанию) введённый пароль, последующая команда этот пароль не запрашивает. Время сессии можно изменить.

Теги

 

Похожие материалы

Создать символическую ссылку в linux

Содержит адрес нужного файла или директории в файловой системе. При клике открывается файл или директория, на которую ссылается ссылка. Если удалить файл, то ссылка останется, но будет указывать в никуда.

Теги

Supermicro — изменение разделов RAID Intel Rapid Storage

В моём сервере Supermicro под систему собран RAID1. Пришла задача - увеличить раздел boot на этом зеркале. Зеркало собрано встроенными средствами Intel Rapid Storage. Проблема возникла, когда я попытался загрузиться в Hiren's BootCD и разбить зеркало с помощью gparted. Упс, отдельные диски зеркала увиделись, а само зеркало — нет.