Делается это с помощью утилиты sudo и её производных. sudo — это консольная утилита. Она позволяет «прикинуться» рутом при выполнении конкретной команды, таким образом, получив неограниченные права. Например, команда
sudo aptitude update
обновит данные о доступных вам приложениях (зачем это нужно я объясню в главе про управление программами). Сама по себе команда
aptitude update
работает, только если её запускает root. Однако запуская её с помощью sudo вы выдаёте себя за рута, рутом при этом не являясь. Естественно, для использования sudo вы должны обладать правами администратора[60]. При этом при запуске команды через sudo система спросит у вас ваш пароль, однако в целях безопасности при его вводе вам не будет ничего показываться, ни звёздочек, ни чёрточек, ни птичек, ничего. Не пугайтесь, так и надо, просто вводите до конца и нажимайте Enter. Если вы являетесь администратором и правильно ввели пароль, то указанная после sudo команда исполнится от имени root.
Через терминал можно сделать всё, что угодно, так что имея возможность стать рутом вы можете выполнить все необходимые вам настройки. Однако иногда удобно использовать графические приложения, при этом обладая правами рута. Например, если вам надо скопировать файлы в системные каталоги. Для запуска графических приложений от имени root откройте диалог запуска GNOME сочетанием клавиш Alt—F2 и введите
gksudo имя_приложения
Например, для запуска файлового менеджера Nautlus надо ввести
gksudo nautilus
Рис. 15.2: Запуск Nautilus с правами администратора.
Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере.
Будьте предельно внимательны при использовании Nautilus с правами root! Вы сможете безо всяких предупреждений безвозвратно удалить любой системный файл, что спокойно может привести к неработоспособности всей системы.
15.3 Редактирование конфигурационных файлов
Важнейшим примером применения вышеописанной технологии «прикидывания» рутом является редактирование конфигурационных файлов системы. Я уже говорил, что все настройки системы и всех приложений в Linux хранятся в виде текстовых файлов. Так вот, редактировать вы можете только файлы, принадлежащие вам, то есть только настройки, касающиеся вашего пользователя. А для редактирования системных параметров вам понадобятся права администратора.
Многие файлы вы сможете открыть, но не сможете что-либо в них изменить, вам просто не будет доступна операция сохранения:
Рис. 15.3: Открытый только для чтения системный конфигурационный файл.
Конечно, можно открывать конфигурационные файлы с правами root через диалог запуска приложений командой
gksudo gedit /путь/до/файла
Gedit — это стандартный текстовый редактор Ubuntu.
Однако в диалоге запуска не работает автодополнение, следовательно путь до файла вам придётся набирать вручную, что не всегда удобно. Поэтому можно для запуска текстового редактора от имени суперпользователя использовать терминал, например:
Рис. 15.4: Открытие системного конфигурационного файла с правами администратора.
Учтите, что sudo — это чисто консольная утилита, поэтому использовать её в диалоге запуска приложений нельзя, хотя из терминала через неё можно запускать графические приложения. А gksudo наоборот, утилита графическая, поэтому её не стоит использовать в терминале, хотя это и не запрещено.
В итоге откроется редактор с возможностью сохранения изменений:
60
На самом деле права администратора в основном как раз и заключаются в возможности использовать sudo.