Enables Touch ID authentication for sudo commands in Terminal by configuring /etc/pam.d/sudo_local. Configuration survives macOS updates.
- Uses Apple's
sudo_local.templatefor update-safe configuration - Idempotent - safe to run multiple times
- Proper exit codes for Jamf Pro workflow
- Comprehensive logging
- macOS 10.15+ with Touch ID hardware
- Deployed via Jamf Pro policy
Scripts: Copy Enable-TouchID-sudo.sh to Jamf Pro
Policy: Add script, scope to Touch ID-equipped Macs
Execution Frequency: Ongoing (idempotent)
- Verifies
/etc/pam.d/sudo_local.templateexists - Creates
/etc/pam.d/sudo_localfrom template - Uncomments
auth sufficient pam_tid.so - Verifies configuration
File Modified: /etc/pam.d/sudo_local
Change:
# 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
+auth sufficient pam_tid.soTouch ID doesn't work after successful policy execution:
- New Terminal session required (PAM changes don't affect existing sessions)
- Verify:
cat /etc/pam.d/sudo_local | grep "^auth" - Check Touch ID configured:
bioutil -r
Template not found:
- macOS version < 10.15
- Adjust Smart Group scoping
/etc/pam.d/sudo gets overwritten during macOS updates. Apple's sudo_local is specifically designed to persist across updates.
- v1.0 (2026-02-09) - Initial release
MIT License - see LICENSE
Sunshine - SudoSunshine
⭐ Star this repo if it helped your deployment