Ubuntu 10. Краткое руководство пользователя
Шрифт:
Глава 6
Учетные записи пользователей
6.1. Учетная запись root
В Windows мы привыкли, что нам разрешено все. Конечно, не всегда, но в большинстве случаев именно так. В Linux все иначе — максимальными полномочиями обладает только пользователь root. Система полностью подвластна этому пользователю.
Всегда
Если вы попытаетесь выполнить опасную команду, зарегистрировавшись под именем обычного пользователя, система сообщит вам, что у вас нет полномочий. Если же вы от имени пользователя root дадите команду даже на удаление корневой файловой системы, система ее выполнит.
Представим, что кто-то решил пошутить и выложил в Интернете (записал на диск или прислал по электронной почте — не важно) вредоносную программу. Если вы ее запустите от имени пользователя root, то уничтожите систему. Если запустить программу от имени обычного пользователя — ничего страшного не произойдет.
Впрочем, все может быть намного проще — команда, которая разрушит систему, может быть введена ошибочно. Или вы отойдете ненадолго от своего компьютера, а тут сразу же появится недоброжелатель — имея полномочия пользователя root, уничтожить систему можно одной командой.
Вот поэтому в дистрибутиве Ubuntu обычная учетная запись root отключена — вы не можете войти в систему, используя учетную запись 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).
Помните, что введенный пароль хранится 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 <команда>
Если вам нужно выполнить серию команд с правами root, но не хочется каждый раз вводить sudo в начале команд, тогда выполните команду:
sudo — i
Эта команда запустит оболочку root, т. е. вы сможете вводить любые команды, и они будут выполнены с правами root. Обратите внимание, что изменится приглашение командной строки (рис. 6.3).
До этого приглашение имело вид $, что означает работу от имени обычного пользователя, а после выполнения команды приглашение изменилось на # — это верный признак того, что каждая введенная команда будет выполнена с правами root.