Аутентификация sudo через Touch ID на MacBook Pro
Зачем это нужно
Если вы разработчик или продвинутый пользователь macOS, вы часто используете sudo в терминале. По умолчанию sudo требует пароль учётной записи. Добавив модуль pam_tid.so, macOS предложит окно системы для сканирования отпечатка пальца (Touch ID) и, при успешной аутентификации, позволит выполнить sudo без ввода пароля.
Важное: Touch ID аутентифицирует локальные сеансы через PAM. В некоторых версиях macOS аутентификация через SSH (удалённый терминал) может перестать работать с pam_tid.so; в этом случае откатите изменения.
Требования
- MacBook Pro с Touch ID и macOS, поддерживающей pam_tid.so.
- Учётная запись с правами sudo (администратор).
- Доступ к терминалу.
Быстрый план действий
- Откройте Terminal.
- Отредактируйте файл /etc/pam.d/sudo с правами администратора.
- Добавьте строку, подключающую pam_tid.so.
- Сохраните файл и проверьте работу sudo локально.
- Если нужно — откатите изменения.
Пошаговая инструкция
- Откройте Terminal (Приложения → Служебные программы → Terminal) и выполните команду для редактирования файла конфигурации PAM для sudo:
sudo nano /etc/pam.d/sudo- В файле найдите секцию с методами аутентификации. Перейдите на новую строку под строкой, начинающейся с “#” или под существующими записями “auth”.

- Вставьте на новой строке следующую строку:
auth sufficient pam_tid.so
Обратите внимание: вы можете выровнять пробелы для читаемости, но это не обязательно.
Сохраните изменения в nano: нажмите Ctrl+O, затем Enter.
Выйдите из nano: Ctrl+X.
При следующем вызове sudo в локальном терминале macOS должно отобразиться системное окно для Touch ID. Если аутентификация успешна, команда выполнится.

Если вы предпочитаете ввести пароль вручную, нажмите «Use Password …» и введите пароль учётной записи.
Как протестировать
- Выполните простую команду с sudo, например: sudo ls /var/root. Должно появиться окно Touch ID.
- Откройте новый локальный терминал и повторите проверку: touch ID должен работать повторно, пока действует таймер sudo.
- Попробуйте подключиться по SSH с другого компьютера и выполнить sudo. Если команда не проходит (требует пароль или возвращает ошибку PAM), значит SSH-авторизация через pam_tid.so не поддерживается в вашей сборке macOS.
Откат (если нужно)
Если после изменения вы столкнулись с проблемами (например, sudo по SSH перестал работать), верните файл к прежнему состоянию:
- Откройте файл снова:
sudo nano /etc/pam.d/sudo- Удалите или закомментируйте строку, которую добавляли:
# auth sufficient pam_tid.so- Сохраните и закройте (Ctrl+O, Enter, Ctrl+X).
- Повторно проверьте sudo локально и по SSH.
Когда это не сработает
- Удалённые SSH-сеансы часто не имеют доступа к аппаратному последовательному устройству Touch ID и могут не работать с pam_tid.so.
- Более старые версии macOS могут не включать pam_tid.so или иметь другой синтаксис PAM.
- Если ваша учётная запись не имеет прав на вызов sudo, Touch ID не даст права повышений.
Альтернативные подходы
- Оставить стандартную парольную аутентификацию sudo (наиболее совместимый вариант).
- Настроить passwordless sudo для конкретных команд в /etc/sudoers (через visudo) — подходит для автоматизации, но снижает безопасность.
- Использовать аппаратный ключ безопасности и управлять доступом через менеджер ключей/SSH-сертификаты.
Риски и рекомендации по безопасности
- Упрощение доступа к sudo увеличивает риск, если устройство попадёт в чужие руки. Всегда используйте FileVault и требуйте пароль при пробуждении из сна.
- Ограничьте использование Touch ID для sudo только на доверенных ноутбуках.
- Мониторьте логи аутентификации через Console.app (/var/log/authd или system.log в зависимости от версии macOS).
Чек-лист по ролям
Для разработчика:
- Протестировать sudo локально до внесения изменений.
- Сделать резервную копию /etc/pam.d/sudo (копия файла с суффиксом .bak).
- Внести изменение и проверить работу Touch ID.
Для системного администратора:
- Проверить совместимость с корпоративными политиками (MDM, PAM-плагины).
- Протестировать SSH-удалённый доступ и откат.
- Развернуть изменение централизованно только при поддержке и инструкции отката.
Критерии приёмки
- Локальная аутентификация sudo через Touch ID отображает системное окно и успешно выполняет команду.
- В случае необходимости по SSH — поведение не ухудшилось (или откат выполнен).
- Изменения задокументированы, резервная копия файла сохранена.
Короткий глоссарий
- PAM: Pluggable Authentication Modules — система модульной аутентификации в UNIX-подобных ОС.
- pam_tid.so: модуль PAM для Touch ID на macOS.
- sudo: утилита для выполнения команд с правами другого пользователя (обычно root).
- SSH: Secure Shell — протокол для защищённого удалённого доступа к терминалу.
Быстрая инструкция отката (шаблон)
- Резервная копия перед правкой:
sudo cp /etc/pam.d/sudo /etc/pam.d/sudo.bak- Откат из резервной копии:
sudo cp /etc/pam.d/sudo.bak /etc/pam.d/sudo- Сброс прав и проверка файлов:
sudo chmod 644 /etc/pam.d/sudo
sudo ls -l /etc/pam.d/sudoРешение проблем (короткий план)
- Если sudo по SSH перестал работать: откатите change и проверьте.
- Если Touch ID не появляется локально: убедитесь, что учетная запись имеет права sudo и что модуль pam_tid.so присутствует в системе.
- После изменений посмотрите логи: откройте Console.app и отфильтруйте по sudo/PAM.
Заключение
Добавление pam_tid.so в /etc/pam.d/sudo делает использование sudo удобнее — вы можете подтверждать команды отпечатком пальца. Однако это изменение вносит компромисс между удобством и совместимостью (особенно с SSH). Всегда делайте резервные копии и протестируйте поведение в тех сценариях, где вам важно восстановление доступа.
Важное: если вы сомневаетесь, сначала создайте резервную копию файла и протестируйте на отдельной машине или в неторопливой среде.
Похожие материалы
Назначение со‑хоста в Zoom
Как использовать rsync для резервного копирования в Linux
Браузер по умолчанию в iOS 14 — как сменить
mpksldrv.sys — как исправить повторные перезагрузки
Windows Media Center в Windows 10 — можно ли установить?