MacBook の pam.d sudo を復元
方法
Finderで /etc/pam.d/sudo
をデフォルトのものに置き換える。
背景
MacBookのSudoコマンドの認証をTouch IDで行えるようにしていた。
/etc/pam.d/sudo
の先頭にauth sufficient pam_tid.so
を追加するとできるのだが、この方法が使えなくなっていたもよう。
sudo: unable to initialize PAM: Invalid argument
エラーが出るようになっていた。
試行
"sudo: unable to initialize PAM: Invalid argument" だとか "pam.d sudo recover" で検索するとシングルユーザーモードでどうとかこうとかと書いてあるが、そもそも/etc/pam.d/sudo
の編集にsudo
が必要なのでできず。(やり方が間違っていたのかもしれないが)
発想
色々試していたところCLIではなくGUI操作で管理者権限が必要な時はパスワード認証やらTouch ID認証のダイアログが出ていたことに気づいた。
Finderならいけるのでは?!
いけた
詳細
- Finderを開く
/etc/pam.d/
に遷移 (/etc/
は隠しフォルダなので⌘ + ⇧ + s
で表示)- sudoファイルをバックアップしておく
- sudoファイルを削除
- デフォルトのsudoファイルを貼り付け
デフォルトのsudoファイルは以下のものだと思いますが、違う可能性があるためそこは自己責任でお願いします。
# sudo: auth account password session
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