Как авторизовать команду sudo в терминале macOS с Touch ID

Узнайте, как использовать Touch ID вашего Mac для команды sudo в приложении macOS Terminal, чтобы не вводить пароль администратора.

Ввод пароля в терминале macOS для аутентификации команды sudo

Для тех, кто не знаком, sudo — это мощная команда Unix, доступная в приложении «Терминал» Mac, которая позволяет вам вносить изменения на уровне системы, как если бы вы были суперпользователем.

Неофициальное решение в macOS Ventura и более ранних версиях позволяет использовать аутентификацию Touch ID для команды sudo вместо пароля администратора.

По сути, это обходной путь, но у него есть существенный недостаток: вам необходимо повторно включать Touch ID для терминала каждый раз, когда вы устанавливаете новую версию macOS.

macOS Sonoma предоставляет перспективное решение, которое выдержит обновления программного обеспечения, поэтому давайте посмотрим, как можно включить и использовать Touch ID для команды sudo терминала.

Как включить Touch ID для команды терминала «sudo»

Чтобы включить аутентификацию Touch ID для Терминала, вы продублируете sudo_local.template как новый файл и внесете в него небольшие изменения.

  1. Запустите терминал из папки «Программы/Утилиты». Вы также можете ввести «Терминал» в поиске Spotlight или на панели запуска, чтобы быстро найти и открыть приложение.
  2. Вставьте следующее в Терминал и нажмите клавишу Enter. Эта команда установит в качестве рабочего каталога Терминала системную папку, в которой хранится информация о доступных подключаемых модулях аутентификации (PAM) в macOS. компакт-диск /etc/pam.d
  3. Затем скопируйте sudo_local.template в новый файл с именем sudo_local, выполнив приведенную ниже команду терминала. Вам нужно будет ввести пароль администратора, чтобы авторизовать команду, поскольку мы вносим изменения в защищенный системный файл. sudo cp sudo_local.template sudo_local

    Копирование файла шаблона Touch ID в терминале macOS

  4. Наконец, отредактируйте файл конфигурации sudo_local с помощью текстового редактора командной строки Pico, встроенного в macOS Monterey 12.3 и более поздних версий: sudo pico sudo_local
  5. Теперь мы раскомментируем строку в sudo_local, чтобы включить подключаемый модуль аутентификации для Touch ID. В редакторе Pico с помощью клавиш со стрелками перейдите к строке, содержащей pam_tid.so, и удалите знак хэштега (#) в начале.
    Редактирование файла шаблона Touch ID для терминала macOS с помощью редактора Pico
  6. Наконец, сохраните изменения, нажав Control (⌃) — X на клавиатуре, затем введите Y и нажмите клавишу Return, чтобы сохранить файл.

macOS читает sudo_local. Мы только что сообщили операционной системе, что можно утверждать команды Терминала, требующие административных привилегий, с помощью Touch ID.

Как аутентифицировать «sudo» в терминале с помощью Touch ID

При биометрической аутентификации в Терминале при следующем использовании команды sudo вас встретит запрос Touch ID. Приложите палец к датчику отпечатков пальцев вашего Mac, чтобы авторизовать команду, вместо того, чтобы вводить административный пароль.

Запрос Touch ID для аутентификации команды sudo в терминале macOSАутентификация команды sudo с помощью Touch ID происходит намного быстрее, чем ввод пароля администратора | Изображение: Кристиан Зибрег/iDB

Если вам все же хочется ввести пароль, нажмите «Ввести пароль» в диалоговом окне.

Запрос пароля для аутентификации команды sudo в терминале macOSВы также можете использовать Apple Watch для аутентификации «sudo» | Изображение: Кристиан Зибрег/iDB

Но зачем кому-то использовать пароль вместо отпечатка пальца? Потому что те, кто носит Apple Watch, настроенные на одобрение запросов на аутентификацию macOS, смогут пройти аутентификацию с их помощью после выбора этой опции.

Использование Touch ID для терминала в старых версиях macOS

В macOS Sonoma sudo_local сохраняет обновления программного обеспечения, а это означает, что вы можете один раз включить Touch ID для терминала и покончить с этим.

Однако в macOS Ventura и более ранних версиях необходимо добавить строку pam_tid.so, достаточную для аутентификации, под первой строкой в ​​sudo_local, чтобы включить Touch ID для терминала. Но, как уже упоминалось, sudo_local не поддерживает обновления и перезаписывается стандартным файлом каждый раз, когда вы устанавливаете обновление программного обеспечения.

Функция экономии времени для фанатов терминалов

Совет Рэйчел Гринхэм, которая открыла этот новый метод и поделилась им на Мастодонтс Дэном Мореном из Шесть цветов подтверждая, что это работает.

Если вы считаете себя фанатом терминалов, этот совет может сэкономить вам много времени.

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *