Как получить root права на mac os catalina

Обновлено: 03.07.2024

Корнем зла является урезанный доступ к /private/etc.

Для начала, вам, стоит проверить свой. Откройте Terminal (это можно сделать через Spotlight) и введите ls -la /private.


Вот так «drwxr-xr-x» и должны выглядеть права на etc. Если они выглядят больше похожими на «drwx-----», то вам к нам.

Казалось бы — всего-то дел — восстановить права доступа: Spotlight -> DiskUtility -> FirstAid… а где же теперь Repair Permission?

Как оказалось, эта опция больше недоступна через GUI.

Таким образом, всё что нам нужно чтобы восстановить работоспособность sudo это… работающее sudo! Несколько иронично, не так ли?

Тем не менее — выход есть.

Для того, чтобы починить права необходимо:

1. залогиниться пользователем с правами администратора
2. получить доступ к пользователю root
3. изменить права доступа на папку /private/etc

1. залогиниться пользователем с правами администратора
С первым пунктом я вам ничем не помогу. Если ваша учетная запись уже имеет права администратора — используйте её. Если нет — найдите своего администратора.

2. получить доступ к пользователю root

Для того, чтобы получить доступ к root запустите приложение «Directory Utility». Я бы рекомендовал открывать его через Spotlight.

После запуска программы кликните на замок и введите пароль своего пользователя чтобы «Directory Utility» позволил вам внести изменения.

Зайдите в меню Edit. Если у вас есть пункт «Enable Root User» начните с него. Если же вместо этого пункта вы видите «Disable Root User», то сразу же выбирайте «Change Root Password. »

Введите пароль и повторите его для контроля. Приличные люди не используют для root тот же пароль, что и для своего обычного пользователя.

3. изменить права доступа на папку /private/etc

Запустите Terminal (это, опять таки, можно сделать через Spotlight).
Введите команду su.

При вводе этой команды система запросит у вас пароль. Надо вести пароль root пользователя. Именно тот, который вы установили на втором шаге, а не ваш обычный пароль.


Если вы ввели его верно, то у вас появится приглашение командной строки с решеткой на конце. Что-то вроде:


Итак, мы всего в одном шаге от успеха. Осталось изменить права доступа и проверить результат. Для изменения прав используйте команду «chmod aug+rx /private/etc». Для проверки результата — ls -la /private

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

Пользователь root — это суперпользователь с привилегиями чтения и записи в дополнительных областях системы, включая файлы в учетных записях других пользователей macOS. По умолчанию пользователь root отключен. Если не удается войти в систему компьютера Mac с учетной записью администратора, включите пользователя root и выполните вход как пользователь root, чтобы выполнить свою задачу.

Учетная запись пользователя root не предназначена для повседневной работы. Ее привилегии позволяют вносить изменения в файлы, необходимые для работы компьютера Mac. Для отмены таких изменений может потребоваться переустановка системного ПО. После выполнения задачи пользователя root следует отключить.

Безопаснее использовать команду sudo в программе «Терминал» вместо включения пользователя root. Чтобы узнать о команде sudo , откройте программу «Терминал» и введите man sudo .

Включение и отключение учетной записи пользователя root

  1. Перейдите в меню Apple () > «Системные настройки» и откройте вкладку «Пользователи и группы» (или «Учетные записи»).
  2. Щелкните , затем введите имя и пароль администратора.
  3. Нажмите «Параметры входа».
  4. Нажмите «Подключить» (или «Изменить»).
  5. Нажмите «Открыть Службу каталогов».
  6. Щелкните в окне «Служба каталогов», затем введите имя и пароль администратора.
  7. Выполните следующие действия в строке меню «Службы каталогов»:
    • Выберите «Правка» > «Включить корневого пользователя» и введите пароль для пользователя root.
    • Или выберите «Правка» > «Отключить корневого пользователя».

Если пользователь root включен, его привилегии доступны только после входа в систему в качестве пользователя root.

  1. Перейдите в меню Apple > «Завершить сеанс», чтобы выйти из текущей учетной записи пользователя.
  2. В окне входа введите имя пользователя root и пароль, созданный для пользователя root.
    Если в окне входа отображается список пользователей, нажмите кнопку «Другой» и выполните вход.

Не забудьте отключить учетную запись пользователя root после выполнения задачи.

Изменение пароля root

  1. Перейдите в меню Apple () > «Системные настройки» и откройте вкладку «Пользователи и группы» (или «Учетные записи»).
  2. Щелкните , затем введите имя и пароль администратора.
  3. Нажмите «Параметры входа».
  4. Нажмите «Подключить» (или «Изменить»).
  5. Нажмите «Открыть Службу каталогов».
  6. Щелкните в окне «Служба каталогов», затем введите имя и пароль администратора.
  7. В строке меню Службы каталогов выберите «Правка» > «Изменить корневой пароль…».
  8. Когда появится запрос, введите пароль root.

Я только что купил MacBook Pro Retina. Моя учетная запись Unix показывает мое имя. Но мне нужно войти в систему как root.

Я попытался эту команду в терминале, чтобы переключиться на root:

но это не займет мой пароль, и я действительно не знаю, какой пароль предоставить?

Вы должны фактически использовать sudo -i , чтобы запустить интерактивную оболочку. Затем введите свой пароль для входа. Не появится; это нормально. Продолжайте печатать, затем нажмите Return .

Чтобы выйти из интерактивной оболочки, введите команду exit или ^D (это Control- D , а не Command- D ). Затем вы вернетесь в свой обычный терминал.

Относительно вашего исходного вопроса: используйте sudo su .

Команда su предоставляет вам доступ к учетной записи другого пользователя, но вам необходимо знать пароль этого пользователя. Поскольку root отключен по умолчанию (и по уважительной причине) и не имеет пароля, вы можете использовать sudo , который предоставляет вам повышенные привилегии для одной команды, чтобы отменить это правило. Когда sudo запросит у вас пароль:

просто введите свой пароль. Он не появится из-за соображений безопасности (поэтому люди не могут видеть, сколько это времени), но он вводится. Нажмите Return, когда закончите.

Просто введите следующую команду:


Это работает, только если вы являетесь администратором, я думаю, что вы не должны. Лучше создать другого пользователя с правами администратора. Всякий раз, когда вам нужны права администратора для установки программного обеспечения, вы должны ввести логин для пользователя с правами администратора.

Допустим, вы даете этому новому администратору имя "huangadmin". Это может быть что-то еще (например, admin), но я не думаю, что было бы хорошей идеей дать ему имя "root".

Затем в терминале вам нужно использовать su huangadmin . Пароль для этой учетной записи запрашивается, и тогда вы пользователь huangadmin. Тогда вы можете использовать sudo su и стать пользователем root.

очень простая команда для запуска как sudo:


После того, как пароль пользователя root установлен в утилитах Справочника. Введите su root в своем терминале и введите пароль. Обратите внимание, что пароль локального администратора не совпадает с паролем пользователя root.

Сегодня мы кратко расскажем вам о системе прав доступа и о связанных с ней командах Терминала: chown, chmod, chgrp и sudo.

Итак, главная заповедь: каждый объект в Mac OS X обязательно имеет своего пользователя-владельца. Например, владельцем почти всего содержимого вашей папки пользователя будете вы. Владельцем системных файлов будет пользователь root, т.е. главный администратор компьютера. Даже если объект номинально никому не принадлежит, он всё равно числится за виртуальным пользователем nobody.

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

Чтобы узнать все группы, в которые вы входите, наберите в терминале команду:

groups

Запомните важнейшую команду, которой вам придётся часто пользоваться:

Она позволяет выполнить какое-либо действие от имени пользователя root. Её можно ввести перед какой-то другой командой, например:

В любом случае, команда sudo потребует от вас ввода пароля:

Пароль всегда вводится вслепую, т.е. вы не увидите на экране никаких символов. По завершении ввода пароля нажмите Enter, и вы увидите, что левая часть строки изменится на:

Это означает, что вы вошли в Терминал как root-пользователь.

Обычно команда sudo будет нужна для изменения каких-то системных настроек или просто для доступа к тем файлам, которые вам не принадлежат.

Теперь мы переходим к главному: собственно правам доступа. Эти права бывают трёх видов:

  • на чтение (просмотр) объекта
  • на запись (т.е. редактирование и удаление)
  • на запуск объекта

Можно обладать одним, двумя или всеми тремя правами сразу.

Каждое право для одного и того же объекта задаётся в трёх форматах:

  • непосредственно для владельца
  • для группы пользователей, к которой принадлежит владелец
  • для всех остальных

Права доступа обозначаются двумя способами: цифровым и буквенным.

Цифровой способ подразумевает написание трёхзначного числа: например, 775, 644, 444, 521, 700.

  • 4 означает право на чтение
  • 2 означает право на запись
  • 1 означает право на запуск
  • 0 означает отсутствие всех трёх прав

Эти цифры суммируются, если несколько прав принадлежат пользователю одновременно:

  • 5 (4+1) означает права на чтение и запуск
  • 6 (4+2) означает права на чтение и запись
  • 7 (4+2+1) означает полный спектр прав

Теперь расшифруем приведённые выше примеры:

владелец и его группа имеют полный доступ (4+2+1=7)

все остальные пользователи могут читать и запускать файл (4+1=5)

владелец имеет право на чтение и запись (4+2=6)

все, кроме него, могут лишь прочитать файл (4)

абсолютно все пользователи могут только читать файл, но сделать с ним ещё что-то невозможно

владелец может читать и запускать файл (4+1=5)

группа владельца может редактировать файл (2)

все остальные имеют право лишь на запуск (1)

эксклюзивные полные права доступа есть только у владельца (4+2+1)

А теперь приведём конкретный пример. Допустим, у вас есть папка.

  • Если у вас есть только права на запись, вы сможете её только переименовать, но никак не заглянуть внутрь
  • Если у вас есть права только на исполнение, то вы сможете открыть папку, но не увидите в ней никакого содержимого. Но если вы знаете имена лежащих там файлов, то сможете с ними работать.
  • Если у вас есть права на чтение и исполнение, то вы сможете пользоваться всем содержимым папки, но не сможете её переименовать или изменить атрибуты

Буквенный способ всегда состоит из 10 символов и имеет следующий вид:

drwxrw-r-x

Первый символ показывает, с чем вы имеете дело:

Если права нет, то на соответствующем месте ставится прочерк.

Есть ещё два специальных обозначения, обычно встречающиеся у папок:

Таким образом, приведённый выше пример означает то же самое, что и 765.

Кстати, файл вполне может иметь и права доступа 000 . Тогда единственный, кто может что-то с ним сделать будет root-администратор. Стоит помнить о такой возможности хотя бы потому, что стоит быть аккуратным с этим. Кстати, в этом случае и сменить права назад сможет тоже только администратор. Будьте аккуратнее.

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

Для смены прав доступа используется команда

chmod

Она имеет следующий синтаксис:

chmod 755 /System/Library/Extensions

Через пробел указываются сами права и путь к файлу или папке.

У команды есть полезный параметр -R (именно заглавная R), который присваивает указанные права всем содержащимся внутри объекта файлам. То есть, чтобы выставить права 755 для всей папки Extensions из примера выше, нужно ввести:

chmod -R 755 /System/Library/Extensions

Для смены группы владельца используется команда

chgrp

Принцип работы тот же, что и у chmod, тоже действует параметр -R. Группу можно вводить как в текстовом формате, так и в цифровом. Запомните главные обозначения:

сделает вашу папку с музыкой принадлежащей группе администраторов.

Чтобы поменять самого владельца, нужна команда

chown

Её синтаксис такой:

chown (-R) владелец:группа путь

Владелец и его группа тоже могут указываться в текстовом формате, через двоеточие без пробела:

chown root:wheel /mach_kernel

или в цифровом формате. Обозначения групп см. выше, а вот обозначения пользователей:

Та же самая команда может выглядеть так:

Присваивает ядро системы пользователю root и группе wheel.

Эти два факта помогут вам решить многие проблемы со странной или некорректной работой системы. Если это не поможет, запустите Дисковую утилиту из папки Программы/Служебные программы, выберите там раздел и нажмите кнопку Восстановить права доступа.

Восстановление прав доступа

Восстановление прав доступа

На сегодня информации достаточно. Следующая статья будет посвящена копированию, переименованию и удалению объектов.


За счет того, что 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:

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

Если вы хотите открыть от имени root конкретную оболочку, например, 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.

Читайте также: