В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю Ubuntu принадлежит только его домашний каталог и всё его содержимое. В системе этот каталог находится по адресу /home/имя_пользователя. Все остальные файлы системы, включая все приложения, системные настройки и т. д., располагающиеся вне /home, принадлежат преимущественно root. Помните, я говорил, что root— это пользователь с неограниченными привилегиями, непосредственное использование которого в Ubuntu запрещено. Так вот, все системные файлы и каталоги принадлежат root недаром, им всем выставлены права на изменение только для пользователя-владельца, таким образом никто, кроме root, не может вмешаться в работу системы и что-то поменять в системных файлах.
Это конечно очень хорошо для безопасности, но что же делать, если вам нужно изменить какие-нибудь системные файлы? Тут есть два пути [59]: во-первых, большинство необходимых пользователю системных настроек можно изменить обладая правами администратора из графических конфигураторов, это самый предпочтительный способ. Ну а во-вторых можно временно повысить свои права до root и делать вообще всё, что угодно.
Делается это с помощью утилиты 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.
Читать дальше