Как в Mac OS X приобрести временные административные права Root


За счет того, что Mac OS X требует аутентификации, она надежно страхует вас от ошибок и защищает от случайного или предумышленного повреждения системы другими пользователями. Аутентификация требуется как при работе через графический пользовательский интерфейс, так и при работе из командной строки, и система запрашивает ее каждый раз, когда вы собираетесь выполнить действия, которые могут иметь серьезные последствия и привести к возникновению проблем.

Поскольку Mac OS X на самом деле является многопользовательской системой UNIX, она стремится предотвратить потенциально опасные действия, которые вы или другой пользователь пытаетесь выполнить. Эта цель достигается за счет того, что система отказывает в доступе к конкретным файлам, необходимым для поддержания ее в работоспособном состоянии, и не позволяет выполнять действия, которые могут привести к негативным последствиям. Однако время от времени вам действительно необходимо выполнять серьезные административные задачи, например, устанавливать новое программное обеспечение или модифицировать конфигурационный файл, влияющий на поведение UNIX. Прежде чем позволять вам выполнять такие действия, Mac OS X требует, чтобы вы прошли аутентификацию как пользователь с административными правами, который в терминологии UNIX носит имя root.

Аутентификация пользователя Root через графический пользовательский интерфейс

В то время как большинство приложений можно установить простым перетаскиванием их файлов в папку Applications, некоторые из них требуют дополнительных действий. Приложения и установщики пакетов (package installers) часто нуждаются в создании папок, перемещении файлов и модификации конфигурационных настроек для различных аспектов работы операционной системы.

Во всех подобных случаях система не позволит вам продолжать выполнение операции, если вы не являетесь пользователем системы, обладающим административными правами (в окне параметров предпочтительных настроек системы перейдите на панель Users), или предложит ввести ваш пароль, если вы числитесь среди администраторов данной системы. Типичное окно с предложением аутентификации показано на рис. 1.13.

Рис. 1.13. Диалоговое окно, предлагающее пройти аутентификацию
Рис. 1.13. Диалоговое окно, предлагающее пройти аутентификацию

Обратите внимание, что в этом окне имеется кнопка с изображением направленной вправо треугольной стрелки (кнопка Details), нажатие которой позволяет выяснить, какое конкретно приложение требует ввода пароля. После того как вы введете свой пароль, программа-инсталлятор продолжит работу. В действительности, после аутентификации вы становитесь администратором, обладающим всей полнотой власти над системой, но только на момент. После этого вы наделяете аналогичной властью программу-установщик, которая затем сможет выполнять свои задачи.


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

Кроме того, в ряде случаев вам потребуется проходить аутентификацию и для того, чтобы вручную внести изменения в конфигурацию системы (например, для изменения некоторых параметров предпочтительной настройки или других аналогичных задач). Если вы не можете изменить некоторые настройки, которые на первый взгляд кажутся редактируемыми, внимательно посмотрите, нет ли в окне небольшого значка с изображением замка. Если этот значок выглядит, как запертый замок (рис. 1.14), вам потребуется щелкнуть по этому значку мышью для разблокирования настроек, после чего вам будет предложено выполнить аутентификацию.

Рис. 1.14. Параметры настройки в данном окне заблокированы
Рис. 1.14. Параметры настройки в данном окне заблокированы

Если вам требуется вновь заблокировать настройки после внесения необходимых изменений, щелкните по этому значку еще раз.

Аутентификация пользователя Root через командную строку

Если вы работаете из командной строки, вы не увидите диалогового окна, предлагающего вам пройти аутентификацию от имени пользователя root. Вместо этого там предусмотрена команда sudo (имя этой утилиты представляет собой сокращение от «substitute-user do» — исполнение от имени другого пользователя), которая позволяет вам приобрести полномочия root на время исполнения конкретной команды. Чтобы воспользоваться командой sudo, просто введите ее перед командой, которую требуется запустить от имени root, разделяя обе команды пробелом. Команда sudo предложит вам ввести ваш пароль (обратите внимание — именно ваш, а не пользователя root). Если у вас есть административные права, то команда, которой предшествует префикс sudo, будет работать так, как если бы она была запущена от имени root.

Команду sudo следует применять с осторожностью. Если при пользовании ею вы допустите ошибку, то последствия такой ошибки могут оказаться фатальными и потребовать, например, полной переустановки системы. Если вы опасаетесь такого исхода, то от использования sudo лучше воздержаться. Типичная командная строка с использованием sudo выглядит следующим образом:

$ sudo apachectl restart

Приложение Terminal в подробностях обсуждается в разделе «Работа с командной строкой», здесь же необходимо напомнить, что символ $ в начале командной строки соответствует приглашению к вводу, характерному для приложения Terminal; так что при вводе командной строки вам не нужно вводить этот символ с клавиатуры.

Приведем ряд замечаний по использованию команды sudo:

  • Когда вы впервые запустите команду sudo, вы увидите на экране еще одно предупреждение о том, что эту команду следует применять с осторожностью.
  • Вам будет предложено ввести пароль только в том случае, если в течение последних пяти минут вы не пользовались командой sudo.
  • Чтобы начать пользоваться командой sudo, нет необходимости ни в активизации учетной записи root, ни в выполнении каких-либо других действий.
  • Если вам необходимо исполнить несколько команд с полномочиями root и вы не хотите постоянно вводить команду sudo, вы можете запустить оболочку от имени root, введя следующую команду:$ sudo -sPassword: *****#В этом случае приглашение к вводу изменит вид на символ #, и это будет означать, что каждая из вводимых команд исполняется от имени root.

Хотя это и требует большего объема работы, вы можете и должны избегать открытия оболочек от имени root с помощью команды sudo. Лучше выполнить лишнюю работу, но существенно снизить вероятность случайного повреждения вашей системы.

Если вы хотите открыть от имени root конкретную оболочку, например, bash, это можно сделать следующей командой:

$ sudo bash

Активизация учетной записи Root

Некоторым пользователям действительно необходимо регистрироваться в системе от имени root. По ряду причин им может быть недостаточно получения административных прав и возможности исполнения любой команды с помощью sudo. Если вы один из таких пользователей, вы можете активизировать учетную запись root, чтобы после регистрации иметь неограниченный и неконтролируемый доступ к своей системе как при работе через графический пользовательский интерфейс, так и при работе из командной строки. Делать этого не рекомендуется, но на тот случай, если такой доступ вам действительно необходим, приведем инструкции, выполнив которые вы сможете добиться поставленной цели. В различных версиях Mac OS X эта задача выполняется по-разному.

Если вы работаете с Mac OS X Leopard, проделайте следующее:

  1. Запустите программу Directory Utility (/Applications/Utilities).
  2. Щелкните мышью по значку с изображением запертого замка.
  3. Из меню Edit выберите команду Enable Root User.
  4. Назначьте пользователю root пароль в полном соответствии с требованиями к сильным паролям, которые должны присваиваться всем пользователям системы, обладающим административными полномочиями.

Если вы работаете с Mac OS X Tiger, действуйте следующим образом:

  1. Запустите программу Netinfo Manager (/Applications/Utilities).
  2. Используйте команду Authenticate из меню Security и аутентифицируйтесь в системе.
  3. Активизируйте учетную запись пользователя root, воспользовавшись для этого командой Enable Root из меню Security.
  4. Назначьте пользователю root пароль в полном соответствии с требованиями к сильным паролям, которые должны присваиваться всем пользователям системы, обладающим административными полномочиями.

Выполнив эти действия, вы получите полностью функциональную учетную запись пользователя root.

Регистрация в системе от имени пользователя Root

Регистрация в системе от имени пользователя root производится точно так же, как и аутентификация от имени любого другого пользователя. Единственным отличием в этом случае будет то, что имя учетной записи root не фигурирует в списке пользователей и ассоциированных с ними значков. Поэтому, чтобы зарегистрироваться в системе от имени root, щелкните мышью по значку Other и введите имя root в поле Name, а затем введите пароль, который вы назначили учетной записи root.