Skip to content

PAM plugin module that allows the Apple Watch to be used for authentication

License

Notifications You must be signed in to change notification settings

hhontheim/pam-touchid-watchid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Touch ID and Apple Watch Authentication for macOS sudo and su

This directory contains two subdirectories: touchid and watchid, each with their own PAM plugins for authentication using biometric information on macOS for sudo and su.

πŸ”¨ Installing Both PAM Plugins

TL;DR: Build and install both plugins with the following commands:

./install.sh all

β€”β€”β€” or β€”β€”β€”

make all
sudo make install
sudo make install_pam

To build both plugins (touchid and watchid) at once, follow these steps:

  1. Run the following command: $ make all

    This command will build the PAM plugins in both subdirectories simultaneously.

  2. Run the following command: $ sudo make install

    This command will install the PAM plugins in both subdirectories simultaneously, i.e. copy them to /usr/local/lib/pam.

  3. Run the following command: $ sudo make install_pam

    This command will add the necessary PAM configuration to /etc/pam.d/sudo and /etc/pam.d/su to enable the PAM plugins in both subdirectories simultaneously.

Installing a Single PAM Plugin

To build a single plugin, append the name of the plugin to the make commands above.

Touch ID

./install.sh touchid

β€”β€”β€” or β€”β€”β€”

make touchid
sudo make install_touchid
sudo make install_pam_touchid

Apple Watch

./install.sh watchid

β€”β€”β€” or β€”β€”β€”

make watchid
sudo make install_watchid
sudo make install_pam_watchid

Uninstalling

To uninstall a plugin, remove the corresponding PAM configuration from /etc/pam.d/sudo and /etc/pam.d/su (e.g. via sudo -e /etc/pam.d/su[do]), and remove the .so plugin from /usr/local/lib/pam.

This can be done automatically by running the following command:

./uninstall.sh [all|touchid|watchid]

See Also

This repository contains these two PAM plugins for macOS:

About PAM TouchID

A PAM plugin for authenticating using biometric information (Touch ID) written in Swift.

Based on Reflejo/pam-touchID.

About PAM WatchID

A PAM plugin for authenticating using the new kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch API in macOS 10.15, written in Swift.

Based on biscuitehh/pam-watchid.

About

PAM plugin module that allows the Apple Watch to be used for authentication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 66.1%
  • Makefile 21.6%
  • Shell 12.3%