13.1 Суперпользователь
Во всех системах на базе Linux всегда есть один привилегированный пользователь, который зовётся root или по-русски суперпользователь. Полномочия этого пользователя не ограничены ничем, он может делать в системе абсолютно всё, что угодно. Кроме того, большинство системных процессов работают от имени root. Понятное дело, использование такого всемогущего пользователя крайне опасно, ибо любая ошибка может привести к катастрофическим последствиям, вплоть до полного уничтожения системы. Обычный же пользователь в Linux вообще говоря никак не может повлиять на работоспособность системы, в частности, не может устанавливать и удалять программы, управлять системными настройками и изменять файлы вне своего домашнего каталога. Поскольку использование суперпользователя крайне опасно, в Ubuntu он спрятан внутри системы, а управлением занимаются обычные пользователи со специальными административными привилегиями[48].
13.2 Администратор
Администратор в Ubuntu по умолчанию может по запросу делать всё то же самое, что и суперпользователь[49], однако случайно что-то испортить из-под администратора нельзя, т. к. перед выполнением каждого опасного действия система спрашивает у пользователя-администратора его пароль. Вообще говоря, администратор является обычным пользователем, однако при необходимости он может вмешаться в работу системы, но для этого ему потребуется ввести свой пароль.
Главное отличие администратора от суперпользователя как раз и заключается в необходимости вводить пароль для выполнения любого потенциально опасного действия. Если система спрашивает у вас пароль, значит вы собираетесь как-то вмешаться в её работоспособность. Поэтому элементарная внимательность спасёт вас от ошибок, поскольку, я надеюсь, сложно ввести пароль и не заметить этого.
Теория теорией, но вам наверно интересно, как же это всё выглядит на практике? Зайдите в меню Система→Администрирование и выберите пункт «Менеджер пакетов Synaptic». Это инструмент управления приложениями, с помощью которого можно устанавливать и удалять любые программы. Поэтому для запуска Synaptic нужны права администратора, и при попытке открытия этой программы система попросит вас ввести свой пароль:
Рис. 13.1: Запрос пароля администратора.
Если вы введёте правильно (и если вы являетесь администратором, конечно), то откроется собственно сам Synaptic:
Рис. 13.2: Менеджер пакетов Synaptic.
Как пользоваться этой программой я расскажу в главе про установку приложений, а пока закройте её.
Кстати, если вы введёте в подобное окно пароль не правильно, то система просто закроет его и ничего вам не скажет. Соответственно и операция, для которой требовались права администратора, выполнена не будет. Имейте это ввиду.
Привилегии администратора нужны не только для запуска системных приложений. Откройте программу управления настройками времени, располагающуюся в меню Система→Администрирование→Дата и время:
Рис. 13.3: Программа управление датой и временем.
Видите, вы не можете ничего изменить, поскольку все поля заблокированы. Однако внизу находится кнопка с ключиком, рядом с которой написано «Нажмите для внесения изменений». Нажмите её, система снова спросит ваш пароль, правда несколько иным образом:
Рис. 13.4: Запрос пароля для предоставления привилегий.
И если у вас есть полномочия на изменение даты и времени (а у администратора они естественно есть), то система откроет вам доступ к настройкам:
Рис. 13.5: Разблокированный интерфейс программы управления датой и временем.
13.3 Связки ключей
Есть ещё один интересный механизм, связанный с обеспечением безопасности. Дело в том, что для хранения различных пользовательских паролей в Ubuntu используются так называемые связки ключей (keyrings). Весь этот механизм служит одной цели — никто, кроме конкретного пользователя, не должен иметь доступа к пользовательским паролям. Связка ключей — это собственно зашифрованный контейнер для хранения паролей, для доступа к которому строго говоря тоже нужен пароль. Кстати, связки ключей не имеют ничего общего с административными правами. Они принадлежат конкретному пользователю и вообще не зависят от прав доступа к системным параметрам.
48
Грубо говоря, в Linux есть два типа пользователей: root и все остальные. root может всё, а все остальные только то, что им разрешено в настройках.
49
Полномочия администратора можно ограничить через параметры sudo и системные настройки прав доступа. О sudo через главу, а о её настройках можно почитать хотя бы на нашей вики.