Больше не нужно вводить пароль руками?! Touch ID для sudo на MacOS

Автор: Eugeny Nosenko
Дата публикации: 2025-08-29 09:15:40   24


Больше не нужно вводить пароль руками?! Touch ID для sudo на MacOS

В macOS Sonoma был введен новый метод включения Touch ID при выполнении команд sudo, что делает эту функцию более устойчивой к обновлениям системы. Ранее для этого требовалось редактировать файл /etc/pam.d/sudo, но эти изменения часто откатывались после обновления, что требовало повторной настройки. В Sonoma настройки можно добавить в отдельный файл /etc/pam.d/sudo_local, который не перезаписывается при обновлении системы, позволяя Touch ID оставаться включенным для команд sudo постоянно.

Включение Touch ID для sudo:

1. Создание и редактирование конфигурационного файла

Создайте новый конфигурационный файл на основе шаблона, предоставленного в macOS Sonoma.

sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local

Откройте вновь созданный файл с помощью вашего любимого текстового редактора:

sudo vim /etc/pam.d/sudo_local

В файле найдите следующую строку и раскомментируйте её, удалив символ #:

- #auth       sufficient     pam_tid.so
+ auth       sufficient     pam_tid.so

Альтернативный метод с использованием sed и tee:

sed -e 's/^#auth/auth/' /etc/pam.d/sudo_local.template | sudo tee /etc/pam.d/sudo_local

2. Подтверждение операции

Откройте новую сессию терминала и выполните команду sudo для проверки настройки:

sudo ls

Вас должны попросить аутентифицироваться с помощью Touch ID. Если команда выполняется после аутентификации через Touch ID, настройка завершена.

-----------------------

Ранее включение Touch ID для sudo требовало редактирования файла /etc/pam.d/sudo, но эти изменения не сохранялись после обновлений macOS. Используя новый файл конфигурации /etc/pam.d/sudo_local в macOS Sonoma, мы можем гарантировать, что настройки Touch ID для sudo останутся неизменными даже после обновления системы.

Файл /etc/pam.d/sudo теперь включает следующее:

# sudo: auth account password session
auth       include        sudo_local
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

Эта конфигурация гарантирует, что настройки в /etc/pam.d/sudo_local загружаются и используются, поддерживая функциональность Touch ID для команд sudo.

Примечание: Для версий macOS, предшествующих Sonoma, по-прежнему требуется ручное редактирование файла /etc/pam.d/sudo для включения Touch ID для команд sudo.



Оставить комментарий:
Имя:
Комментарий: