Touch ID умеет больше, чем вы думали

AlexAkulov 46 минут назад Объяснить с Touch ID умеет больше, чем вы думали 6 мин 1.9K macOS * Информационная безопасность * Туториал Лично у меня пароль на sudo был отключён, SSH-ключи были незашифрованы, а секреты для...
Will Anthropic have the best AI model at the end of October 2026?
Вот важная новость с фронта ИИ: AlexAkulov 46 минут назад Объяснить с Touch ID умеет больше, чем вы думали 6 мин 1. 9K macOS * Информационная безопасность * Туториал Лично у меня пароль на sudo был отключён, SSH-ключи были незашифрованы, а секреты для переменных окружения хранились открытым текстом в ~/. zshrc, потому что я не хочу целыми днями вводить пароли.
Уверен, я не один такой. При этом компьютер разработчика — довольно уязвимое место. Я постоянно ставлю пакеты непонятно от кого, запускаю чужие программы и скрипты.
Технические детали
Достаточно одного неосторожного запуска, и кто-то соберёт все мои SSH-ключи и секреты из переменных окружения, получит права суперпользователя, а я этого даже не замечу. Давно хотелось как-то защитить секреты, не жертвуя удобством. Оказалось, что Touch ID отлично в этом помогает.
Интеграция с sudoЯ ни разу не видел пароль на sudo на Linux-сервере, поэтому и у себя на маке сразу же отключил его по привычке. Но это было необязательно: в macOS уже есть всё для настройки sudo с Touch ID из коробки. Начиная с macOS 14 Sonoma, Apple заботливо положили пример в файл /etc/pam.
template:# sudo_local: local config file which survives system update and is included for sudo # uncomment following line to enable Touch ID for sudo #auth sufficient pam_tid. so Достаточно просто скопировать его в /etc/pam. d/sudo_local:sudo cp /etc/pam.
Отраслевые последствия
d/sudo_local И раскомментировать последнюю строку, чтобы получилось так:# sudo_local: local config file which survives system update and is included for sudo # uncomment following line to enable Touch ID for sudo auth sufficient pam_tid. so Теперь sudo будет запрашивать подтверждение через Touch ID. Если Touch ID не распознает отпечаток или вы нажмёте «Отмена», sudo попросит пароль, как раньше.
По умолчанию sudo запоминает авторизацию на 5 минут. Таймаут можно уменьшить или отключить совсем: добавьте Defaults timestamp_timeout=0 через visudo. Поддержка tmux и screenВнутри tmux и screen Touch ID не сработает: окно Touch ID может показать только процесс из GUI-сессии пользователя, а сервер tmux работает как демон.
Можно это исправить установив PAM-модуль, который переподключает процесс к GUI-сессии пользователя:brew install pam-reattach И добавить его в sudo_local перед pam_tid. Итоговый sudo_local должен выглядеть так:auth optional /opt/homebrew/lib/pam/pam_reattach. so auth sufficient pam_tid.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.



