Денис Колисниченко Ubuntu 10. Краткое руководство пользователя
  • Register

6.2. Временное получение полномочий пользователя root

6.2. Временное получение полномочий пользователя root

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

sudo <команда,_которую_нужно_выполнить_с_правами_root>

Например, требуется изменить файл /etc/apt/sources.list — примените для этого команду:

sudo gedit /etc/apt/sources.list

Программа gedit — это текстовый редактор, мы ему передаем один параметр — имя файла, который нужно открыть. Если ввести эту же команду, но без sudo (просто так: gedit /etc/apt/sources.list), текстовый редактор все равно запустится и откроет файл, но сохранить изменения в нем вы не сможете, поскольку у вас не хватит полномочий.

Команда sudo перед выполнением запросит у вас пароль:

sudo gedit /etc/apt/sources.list

Password:

Вы должны ввести свой пользовательский пароль — тот, который используете для входа в систему, но не пароль пользователя root (кстати, мы его и не знаем).

Существует определенная разница между запуском программ, работающих в графическом режиме (типа gedit), из главного меню Ubuntu и в терминале. Так, если вы запускаете какую-нибудь программу, работающую в графическом режиме, используя главное меню Ubuntu, то увидите окно с требованием ввести свой пароль (рис. 6.1).

6.2. Временное получение полномочий пользователя root

Помните, что введенный пароль хранится 15 минут, поэтому спустя 15 минут программа может опять запросить у вас пароль (если вы за эти 15 минут не завершите работу программы).

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

Совет

Если вы работаете в Kubuntu, то вместо команды gksudo нужно использовать команду kdesu.

Дело в том, что команда sudo не всегда корректно работает с графическими приложениями, поэтому рано или поздно вы можете получить сообщение Unable to read ICE authority file, после чего вообще станет невозможным запуск графических программ с правами root. Чтобы поправить это, удалите файл с именем.{ICE,X}authority из вашего домашнего каталога командой: rm ~/.{iCE,x}authority — здесь тильда (~) означает «домашний каталог текущего пользователя».

Таким образом, графические приложения с правами root проще запускать, используя главное меню. Но не все приложения имеются в главном меню и не все приложения вызываются с правами root. Например, в главном меню есть команда вызова текстового редактора, но нет команды для вызова текстового редактора с правами root. Поэтому намного проще нажать комбинацию клавиш <Alt>+<F2> и ввести команду (рис. 6.2):

gksudo <команда>

6.2. Временное получение полномочий пользователя root

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

sudo — i

Эта команда запустит оболочку root, т. е. вы сможете вводить любые команды, и они будут выполнены с правами root. Обратите внимание, что изменится приглашение командной строки (рис. 6.3).

6.2. Временное получение полномочий пользователя root

До этого приглашение имело вид $, что означает работу от имени обычного пользователя, а после выполнения команды приглашение изменилось на # — это верный признак того, что каждая введенная команда будет выполнена с правами root.

Обратите также внимание на имя пользователя: до ввода команды sudo — i имя пользователя было denis (в записи denis@den-desktop denis — имя пользователя, den-desktop — имя компьютера), а стало root.

Форма входа

Советы