15.2 Права доступа в Linux

We use cookies. Read the Privacy and Cookie Policy

15.2 Права доступа в Linux

Любой файл и каталог в Linux имеет пользователя-владельца и группу-владельца. То есть любой файл и каталог принадлежит какому-то пользователю системы и какой-то группе. Кроме того, у любого файла и каталога есть три группы прав доступа: одна для пользователя-владельца, одна для членов группы-владельца и одна для всех остальных пользователей системы. Каждая группа состоит из прав на чтение, запись и запуск файла на исполнение. Для каталогов право на исполнение и право на чтение всегда идут вместе и означают одно и то же.

То есть, изменяя владельцев того или иного файла и различные группы прав доступа к нему, можно гибко управлять доступом к этому файлу. Например, сделав себя владельцем некоего файла и полностью запретив к нему доступ всем, кроме пользователя-владельца, можно скрыть содержимое и запретить изменение этого файла для всех других пользователей. Такая же штука проходит и с каталогами. Можно, например, запретить записывать файлы в каталог, или вообще скрыть его содержимое от посторонних глаз.

В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю 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 с правами администратора.

Рис. 15.2: Запуск Nautilus с правами администратора.

Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере.

Будьте предельно внимательны при использовании Nautilus с правами root! Вы сможете безо всяких предупреждений безвозвратно удалить любой системный файл, что спокойно может привести к неработоспособности всей системы.