getalog

console.log geta6

node.jsでpamauthする(unix系)

node.jsでpamを使った認証機構を作る時のサンプルです、Mac・Linuxで動きます。

ditesh/node-unixlibを使います。

unixlib.pamauth 'chkpasswd', ...

ここのchkpasswdには/etc/pam.d以下にあるサービス名を入れます。

UbuntuではpasswdMacOSXではchkpasswdで期待する効果を得られました。 認証ポリシーを変更したり、適当なポリシーが他にある場合はそちらを利用してください。

本当なら自分で定義するべきなんでしょうけど、いまいち自信が無かったので既存のポリシーを利用しました。

ちなみに、MacOSXではpasswdの時、常にtrueが返って来ました。

auth       required       pam_permit.so
account    required       pam_opendirectory.so
password   required       pam_opendirectory.so
session    required       pam_permit.so

まぁ当然でした。