Включить Touch ID для sudo в macOS Terminal
- Настройте Touch ID для sudo, чтобы подтверждать привилегии отпечатком вместо пароля.
- Отредактируйте /etc/pam.d/sudo через sudo nano и добавьте строку с pam_tid.so.
- Проверьте изменения, закрыв и открыв Terminal и выполнив sudo su — система попросит отпечаток.

Краткое введение
Если вы часто используете Terminal в macOS, ввод sudo-пароля постоянно утомляет. Модуль pam_tid позволяет аутентифицировать sudo-команды через Touch ID на Mac с поддерживаемым датчиком отпечатков. Этот краткий гид покажет шаги, как включить Touch ID для всех sudo-команд, а также подскажет, что делать, если что-то пошло не так.
Important: выполнять изменения нужно с правами администратора (через sudo). Не удаляйте и не повреждайте другие строки в /etc/pam.d/sudo — это может нарушить вход в систему для привилегированных операций.
Что понадобится
- Mac с Touch ID (работоспособный датчик отпечатков). Если у вашего Mac нет Touch ID, этот метод не применим.
- Аккаунт администратора и доступ к Terminal.
Шаг 1 — Откройте Terminal и откройте файл sudo
Откройте Terminal (Программы > Служебные программы или поиск Spotlight). Введите команду ниже и введите ваш пароль администратора — это может быть последний раз, когда вы будете вводить пароль вручную.
sudo nano /etc/pam.d/sudoПосле успешной аутентификации откроется редактор nano с содержимым файла. Nano — простой текстовый редактор в терминале. Вы увидите файл, похожий на изображение ниже.

Шаг 2 — Добавьте строку для Touch ID
Чтобы включить Touch ID, добавьте одну строку сразу под первой комментированной строкой в файле. Вставьте следующую строчку (она должна быть отдельной строкой):
auth sufficient pam_tid.so
Примечание по форматированию: модули PAM обычно выравнивают колонки (тип, флаг, модуль). Поэтому рекомендуемый вариант выше использует пробелы для лучшей читабельности. В оригинальном материале встречался вариант без пробелов — это просто выглядело компактно, но пробелы не обязательны для работы: главное, чтобы между частями была хотя бы одна пробел.
Если вы хотите «вычистить» внешний вид, можно использовать такое выравнивание (оно эквивалентно):
auth sufficient pam_tid.so
Шаг 3 — Сохраните и выйдите
- В nano нажмите Control+O чтобы сохранить (WriteOut), затем Enter для подтверждения имени файла.
- Затем нажмите Control+X чтобы выйти.
Альтернатива: можно выйти Control+X и подтвердить сохранение, нажав Y, затем Enter.
Это всё по настройке. Теперь протестируем.
Тестирование
Закройте текущую сессию Terminal и откройте новое окно. Выполните команду:
sudo suЕсли всё сделано правильно, вместо запроса пароля вы увидите системный диалог о требовании отпечатка в Touch ID. При успешной аутентификации приглашение терминала сменит пользователя — это подтверждение.


Что может пойти не так — устранение неполадок
- Touch ID не появляется или не работает: убедитесь, что на Mac есть аппаратный датчик отпечатков и он настроен в Системных настройках > Touch ID.
- Ошибка при сохранении /etc/pam.d/sudo: проверьте, запущен ли nano через sudo и что у вас есть права администратора.
- После правки sudo перестал работать: откройте Terminal в режиме восстановления или используйте другой админ-аккаунт, чтобы восстановить исходный файл /etc/pam.d/sudo. Храните резервную копию файла перед изменением: перед вставкой строки выполните sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak
- Если вы подключены по SSH к удалённому хосту, Touch ID не сработает — pam_tid работает локально только на устройстве с датчиком Touch ID.
Совет: перед редактированием сделайте резервную копию:
sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bakЕсли потребуется откат:
sudo mv /etc/pam.d/sudo.bak /etc/pam.d/sudoБезопасность и рекомендации
- pam_tid лишь меняет способ аутентификации — ваши учетные записи и разрешения сохраняются. Это не снижает уровень привилегий.
- Не добавляйте pam_tid в случайные файлы PAM; изменяйте только /etc/pam.d/sudo, если хотите применить Touch ID именно к sudo.
- Для автоматизаций и скриптов, где требуется отсутствие интерактивной аутентификации, рассматривайте безопасное использование sudoers с точечными правилами (NOPASSWD для конкретных команд) или сервисные учётные записи, а не глобальное отключение пароля.
Important: не используйте NOPASSWD бессистемно — это снижает безопасность.
Альтернативные подходы
- NOPASSWD в /etc/sudoers для конкретных команд (для автоматизаций) — удобно, но снижает контроль.
- Запуск задач через launchd/cron с привилегиями, если нужно автоматическое выполнение без интерактивной аутентификации.
- Для удалённого доступа используйте SSH-ключи и ограниченные команды в authorized_keys.
Роли и чек-листы
Для разработчика
- Убедиться, что Mac поддерживает Touch ID.
- Сделать резервную копию /etc/pam.d/sudo.
- Добавить строку pam_tid.so и протестировать sudo в новом окне Terminal.
Для системного администратора
- Оповестить пользователей о смене метода аутентификации.
- Проверить политику безопасности и случаи использования NOPASSWD.
- Подготовить откатный план и резервные копии.
Критерии приёмки
- После правки команда sudo su не запрашивает пароль, а вызывает запрос Touch ID.
- В случае ошибки имеется рабочая резервная копия /etc/pam.d/sudo.
- Для удалённых сессий ожидается ввод пароля (Touch ID не действует по SSH).
Глоссарий (в 1 строке)
- pam_tid — PAM-модуль macOS, который связывает PAM-аутентификацию с Touch ID.
Итог
Добавление строки auth sufficient pam_tid.so в /etc/pam.d/sudo — быстрый и безопасный способ упростить ввод привилегий на локальном Mac с Touch ID. Всегда делайте резервную копию файла перед изменениями и учитывайте ограничения (например, SSH-сессии и отсутствие датчика). После выполнения шагов вы будете подтверждать sudo отпечатком и экономить время.
Краткое резюме:
- Настройка занимает пару минут и ускоряет работу с Terminal.
- Делайте резервную копию файла до изменений.
- Touch ID работает только локально на устройствах с датчиком.