Автор: Алексей Федорчук
Мир Linux. Наброски к книге
Самый простой способ получить права администратора — это авторизоваться в приглашении текстовой консоли под логином root
с вводом соответствующего пароля (который почти во всех дистрибутивах задаётся при инсталляции). Однако в данном случае просто не означает хорошо.
О том, что не следует выполнять под root’ом повседневную работу, говорилось и писалось не меньше, чем о необходимости регулярного резервного копирования. Кроме абстрактных (и подчас игнорируемых начинающими пользователями) соображений о безопасности, риске случайного повреждения системы и пользовательских данных, работа с правами администратора банально неудобна.
Во-первых, на консоль администратора могут поступать всякого рода системные сообщения (например, об авторизации пользователей, подключении устройств и так далее), важные для него, но бесполезные (и даже мешающие) обычному пользователю.
Во-вторых, в большинстве современных десктоп-ориентированных дистрибутивов используется графический вход в систему через менеджеры сеансов вроде Gdm или Kdm. И обычно они по умолчанию сконфигурированы так, что не допускают авторизации root’ом в сеансе оконной системы X. Что, конечно, можно изменить в настройках или обойти — переключившись в текстовую консоль и зайти под аккаунтом суперпользователя там. В принципе, можно даже от имени администратора запустить второй Иксовый сеанс — по умолчанию часто запрещено и это, но в Linux’е, как известно, нет таких умолчальных настроек, которые нельзя было бы изменить.
Весь вопрос в том, а нужно ли это делать? Честно говоря, я с трудом представляю себе, ситуацию, требующую именно запуска Иксового сеанса от лица администратора — разве что для придания приложениям, вызываемым в интегрированных средах пунктами меню типа Edit as root, привычного внешнего вида. Да и то, проще скопировать соответствующие настройки из домашнего каталога пользователя в каталог /root
и, при необходимости, чуть подкорректировать их.
Наконец, существуют дистрибутивы, в которых пароль root’а по умолчанию вообще не задаётся и, соответственно, прямой доступ к его аккаунту оказывается невозможным. Типичный пример этому — Ubuntu и все её производные. Сходная политика, насколько мне известно, проводится и в дистрибутивах Altlinux. Конечно, и это обходимо, причём разными способами — ведь, вопреки расхожему мнению, сам по себе аккаунт суперпользователя в Ubuntu существует. Однако, опять-таки, надо ли это народу?
Разумеется, если повседневная работа пользователя заключается в беспрерывном реконфигурировании системы, установке программного обеспечения или тестировании оборудования, требующего прямого доступа к устройствам, авторизация суперпользователем может оказаться необходимостью. Однако большинству обычных пользователей административные привилегии требуются лишь время от времени. И именно на это время их и следует получать. Впрочем, это относится и к пользователям указанной выше категории — разве что время их root’овых полномочий может быть неограниченно длинным.
В связи с этим в современном Linux’е (и в Unix-подобных системах вообще) наблюдается тенденция всё больше и больше ограничивать доступ пользователей к административным привилегиям. В какой-то мере она коррелирует с их десктопизацией и связанным с ней падением уровня начальной подготовки пользователей. И не надо рассматривать это как ущемление их, пользователей, прав: ибо на локальной, тем более домашней, машине пользователь сам себе администратор, и всегда тем или иным способом соответствующие полномочия может получить. В случаях, когда они нужны по делу, а не куражу ради.
Так вот, основными средствами для получения прав администратора обычным пользователем являются специальные утилиты su
и sudo
(вместе с дополняющими последнюю утилитами visudo
и sudoedit
). Первая служит преимущественно для перехода в режим суперпользователя на неопределённое время, вторая же — главным образом для исполнения единичных команд, требующих административного доступа (хотя на самом деле обе они могут использоваться и с той, и с другой целью). Что же до visudo
и sudoedit
— это узкоспециализированная команда, предназначенная для редактирования общесистемных конфигурационных файлов обычным пользователем.
В интегрированных графических средах типа KDE и GNOME возможен доступ к административным действиям непосредственно из пользовательского сеанса. Однако средства такого доступа самостоятельного значения не имеют, базируясь на механизмах либо su
, либо sudo
.
Есть и более изощрённые способы организации для простого пользователя доступа к действиям, требующим root’овых полномочий. Например, ролевое распределение прав, принятое в OpenSolaris (общее представление о чём дано здесь ). Однако я не знаю, применяются ли подобные механизмы в Linux. Хотя, бегло знакомясь с системой SELinux, задействованной в дистрибутиве Fedora, я обнаружил намёки на использование ролевого доступа, но детально с этим вопросом не разбирался за (пока) неактуальностью.
Так что ниже в этом разделе я ограничусь рассмотрением лишь двух перечисленных утилит: su и sudo
сотоварищи.
уважаемый alv! просто небольшая заметочка — сслыка в конце статьи _su_ полагаю, должна вести по замыслу в следующий раздел, а в реальности это ссылка на сию же страницу
2 wes
Спасибо, поправил