В Windows мы привыкли, что нам разрешено все. Конечно, не всегда, но в большинстве случаев именно так. В Linux все иначе. Максимальными полномочиями обладает только пользователь root. В Windows мы привыкли, что нам разрешено все. Конечно, не всегда, но в большинстве случаев именно так. В Linux все иначе. Максимальными полномочиями обладает только пользователь root. Система полностью подвластна этому пользователю. Любая команда будет безоговорочно выполнена системой. Поэтому работать под именем пользователя root нужно с осторожностью. Всегда думайте над тем, что собираетесь сделать. Если вы дадите команду на удаление корневой файловой системы, система ее выполнит. Если же вы попытаетесь выполнить определенную команду, зарегистрировавшись под именем обычного пользователя, система сообщит вам, что у вас нет полномочий.
Представим, что кто-то решил пошутить и выложил в Интернете (записал на диск или прислал по электронной почте — не важно) вредоносную программу. Если вы ее запустите от имени пользователя root, вы уничтожите систему. Если запустить программу от имени обычного пользователя — ничего страшного не произойдет.
Или же все может быть намного проще: вы ошибочно введете команду, которая разрушит вашу систему. Или просто отойдете ненадолго от своего компьютера, а гут сразу же появится недоброжелатель — имея полномочия пользователя root, уничтожить систему можно одной командой.
Вот поэтому в дистрибутиве Ubuntu обычная учетная запись root отключена. Это означает, что вы не можете войти в систему, используя учетную запись root. Сделано это из соображений безопасности, т. е. разработчики пытаются защитить систему от вас же самих, от ваших некорректных действий.
Но некоторые команды, например, установка программного обеспечения, изменение конфигурационных файлов, требуют полномочий root. Чтобы их получить, нужно использовать команду sudo так:
Например, вам нужно изменить файл /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 (кстати, мы его и не знаем).
В случае, если вы запускаете какую-нибудь графическую программу, используя главное меню Ubuntu, тогда увидите окно с требованием ввести свой пароль. Помните, что введенный пароль хранится 15 минут, поэтому спустя 15 минут программа может опять запросить у вас пароль (если вы за эти 15 минут не завершите работу программы).
Если вы в Терминале хотите запустить графическую программу с правами root (как например, gedit), желательно использовать не программу sudo, как было показано выше, а программу gksudo. Программа sudo не всегда корректно работает с графическими приложениями, поэтому рано или поздно вы можете получить сообщение "Unable to read ICE authority file", и после этого вообще станет невозможным запуск графических программ с правами root. Чтобы поправить это, нужно удалить файл .{ICE.X}authority в вашем домашнем каталоге (тильда означает "домашний каталог текущего пользователя"):
rm -/.{ICE,X}authority
Графические приложения с правами root проще запускать, используя главное меню. Но не все приложения есть в главном меню или не все приложения вызываются с нравами root, например, в главном меню есть команда вызова текстового редактора, но нет команды для вызова текстового редактора с правами root. Поэтому намного проще нажать комбинацию клавиш + и ввести команду: gksudo <команда>
Если вы используете Kubuntu, то вместо команды gksudo нужно использовать команду kdesu.
Если вам нужно выполнить серию команд с правами root, но не хочется каждый раз вводить sudo в начале команд, тогда выполните команду:
sudo -i
Данная команда запустит оболочку root, т. е. вы сможете вводить любые команды, и они будут выполнены с правами root. Обратите внимание, что изменится приглашение командной строки. До этого приглашение было $, что означает, что вы работаете от имени обычного пользователя, а после выполнения программы приглашение изменилось на # — это верный признак того, что каждая введенная команда будет выполнена с правами root.