PHPerだけが突破できる認証を実装可能なpam_phpを開発した

PHPerだけが突破できる認証を実装可能なpam_phpを開発した

PHPカンファレンス福岡 2024の登壇に当たり、PHPのカンファレンスで話すのに、PHPの話が出てこないのはいかがなものか?と思ったので、PHPでLinuxの認証ができるpam_phpを開発しました。


https://github.com/pyama86/pam_php
0 forks.
1 stars.
0 open issues.

Recent commits:

どういったものかはリポジトリをcloneしてデモをお試しいただくと、docker環境で確認できます。下記は、PHPerだけが突破できる神がかった認証例です。

モジュールをインストール後、/etc/pam.d/ にある適切な設定ファイル (例: common-auth) に以下を追加して、pam-php モジュールを有効にします。

auth sufficient pam_php.so /path/to/your/script.php

このように定義すると、script.phpに定義してある、pam_authenticate($pamh): int関数が実行されます。あとは認証成功時は0を返却、失敗時は0以外を返却するとLinuxの認証を制御できます。

実装の詳細としてはpamモジュールの中でPHPエンジンを起動して、スクリプトファイルを開き、指定のメソッドを実行しています。メモリの問題などありましたが、それは下記のスライドで触れています。

PAM結構便利で実用的なので是非試してみてください!

facebook
Twitter
コメントは受け付けていません。
Social Share Buttons and Icons powered by Ultimatelysocial