Для начала определимся в терминах:

  • root - суперпользователь системы. А если более точно, то это пользователь с идентификатором 0. Имя здесь не особо важно. Хотя по умолчанию это общее имя пользователя с нулевым идентификатором пользователя для всех unix-like операционных систем. Это пользователь обладает наивысшими привилегиями в ОС.
  • sudo - консольная команда выполняющая команду переданную ей как аргумент с правами суперпользователя (root). Графический аналог - gksu, kdesu.
  • # - символ подсказки в консоли, который явно указывает, что команда будет выполнена под учетной записью root (в отличии от символа $, который говорит что команда будет выполнена от имени обычного пользователя).

Когда нужно работать под пользователем root?

Ответ - прост: НИКОГДА.
Более того, в дистрибутивах на основе Debain (к коим относится и Ubuntu) работа под пользователем root заблокирована - интерактивно залогиниться в консоль или GUI под ним нельзя.

Все это однако не означает что никаких административных действий выполнить в такой системе нельзя. Для исполнения административных команд используется команда sudo (или её графический аналог gksu).

Использование sudo

Несмотря на то, что sudo исполняет только одну команду, использовать эту команду удобно и просто. Первый раз, при выполнении команды через sudo будет запрошен пароль текущего пользователя. Это выглядит несколько странно на первый взгляд, ведь пользователь уже залогинился и ввел свой пароль (или логин был автоматическим). Однако дополнительный запрос пароля служит привлечением внимания пользователя, что он запрашивает исполнение команды с повышенными привилегиями.
Вводить пароль на каждую команду sudo - не потребуется - единожды введенным пароль для sudo действует в течении определенного времени и только если между командами с sudo будет большой интервал во времени, пароль будет запрошен вновь.
Доступ к команде sudo не бесконтролен: пользоваться ей могут только пользователи, включенные в группу admin.

Есть несколько важных трюков в использовании sudo:
  • sudo -i : переводит пользователя в сессию под root-ом. Это аналог команды su1), за тем исключением, что пароль требуется пользователя, а не root-а. Выход из сессии - exit.
  • sudo -s : переводит пользователя в сессию под root-ом, но при этом текущий каталог не меняется /root 2) а остается тем же что был до вызова команды. Выход из сессии - exit.
Важные замечания:
  • Будьте внимательны выполняя команды с sudo или работая в сессии root-а (и не забывайте выйти из сессии root-а по окончанию действий требующих расширенных прав).
  • Не пользуйтесь sudo там, где это не нужно.


Ссылки

1)
su - переключение в профиль пользователя, для использования нужно знать login и password того пользователя, в окружение которого нужно переключится
2)
как в случае команды sudo -i